Есть Fragment реализующий интерфейс LoaderManager.LoaderCallbacks<>. В методе onLoadFinished во Fragment добавляется TextView. Если свернуть приложение, а потом развернуть то добавиться такое же TextView. Таким образом если сворачивать и разворачивать приложение получим много TetxView, а надо только одно. Как добиться нужного результата?
public class SelectedListFragment extends Fragment implements LoaderManager.LoaderCallbacks<List<SomeList>> {
private LinearLayout linearLayout;
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getLoaderManager().initLoader(R.id.some_list_loader, Bundle.EMPTY, this);
linearLayout = (LinearLayout) getActivity().findViewById(R.id.selectedListFragment);
}
@Override
public Loader<List<SomeList>> onCreateLoader(int id, Bundle args) {
switch (id) {
case R.id.some_list_loader:
return new SomeListLoader(getContext());
default:
return null;
}
}
@Override
public void onLoadFinished(Loader<List<SomeList>> loader, List<SomeList> data) {
int loaderId = loader.getId();
if (R.id.some_list_loader == loaderId) {
if (linearLayout != null) {
linearLayout.setBackgroundColor(Color.BLUE);
TextView textView = new TextView(getContext());
textView.setText("Это текст-вью добавлено из кода, после загрузки данных !");
linearLayout.addView(textView);
}
}
}
@Override
public void onLoaderReset(Loader<List<SomeList>> loader) {
Log.i(Tags.INFO, "loader: " + loader.getId() + "was reset !" );
}
}