Ребята, я использую фрагмент для показа динамических представлений. в этом фрагменте я использую окно повторного просмотра, когда я нажимаю на представление повторного использования, оно может открыть тот же фрагмент, как new FragmentTrainingAndFolder();
.
, теперь у меня есть два фрагмента 1 и 2, когда я перехожу ко второму фрагменту, который показывает на экране его представление переработчикаи просмотрщик уведомлений изменил все работающее нормально.
затем я вернулся к B к A, используя getFragmentManager().popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE);
. Я возвращаюсь к фрагменту списка, предыдущий вид переработчика показывает нормально. но когда я обновляю этот вид переработчика, это не освежает. и мое предупреждение
падает и показывает, что фрагмент не привязан к активности. Вот мой код.
вот мое событие onbackpress
@Override
public void onBackPressed() {
if (fm.getBackStackEntryCount() > 0) {
getFragmentManager().getBackStackEntryCount();
Log.d(TAG, "onBackPressed: "+getFragmentManager().getBackStackEntryCount());
getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
мое событие нажатия при добавлении новогофрагмент в список
fragment = new FragmentTrainingAndFolder(mDisplayedValues.get(position).getId());
Bundle bundle = new Bundle();
bundle.putString("tag", parentid);
fragment.setArguments(bundle);
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().add(R.id.content_frame, fragment, parentid).addToBackStack(parentid).commit();
и вот мое назначение элемента списка, когда я добавляю его в ArrayList для повторного просмотра
JSONArray jsonArray = jsonObj.getJSONArray("data");
try {
Log.d(TAG, "parseFolderData:OLD " + arrayofFolders.size());
} catch (Exception v) {
}
arrayofFolders = new ArrayList<>(Arrays.asList(gson.fromJson(jsonArray.toString(), ArrayofFolder[].class)));
Log.d(TAG, "parseFolderData:new " + arrayofFolders.size());
folderAdapter = new FolderAdapter(CoachNevigationDrawerScreen.activity, new ArrayList<>(Arrays.asList(gson.fromJson(jsonArray.toString(), ArrayofFolder[].class))));
folderRecyclerView.setAdapter(null);
LinearLayoutManager llm = new LinearLayoutManager(CoachNevigationDrawerScreen.activity);
llm.setOrientation(LinearLayoutManager.VERTICAL);
folderRecyclerView.setLayoutManager(llm);
folderRecyclerView.setAdapter(folderAdapter);
folderAdapter.notifyDataSetChanged();