Не удается получить экземпляр или фрагмент не привязан к активности во фрагменте - PullRequest
0 голосов
/ 04 ноября 2019

Ребята, я использую фрагмент для показа динамических представлений. в этом фрагменте я использую окно повторного просмотра, когда я нажимаю на представление повторного использования, оно может открыть тот же фрагмент, как 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();
...