Я получаю сообщение об ошибке, когда всплываю "Фрагмент" и снова вызываю его. - PullRequest
0 голосов
/ 18 июня 2020

У меня есть фрагмент A, имеющий вид ресайклера и fab btn, теперь, когда я нажимаю fabbtn, он переводит меня к фрагменту B. Когда я добавляю данные во фрагментb, он успешно загружает данные в firebase. Но здесь я написал код, который выдает Fragmentb после успешной загрузки данных. Здесь появляется часть ошибки. После загрузки данных и возврата к Frga mnet A я пытаюсь снова нажать на fabbtbn, появляется ошибка navcontroller не может найти навигацию. рассматривать FragmentA как фрагмент AddQuestionList и FragmentB как фрагмент вопросов.

фрагмент A (AddQuestionList): ниже код.

fabbtn onClick Listener
@Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.Questionlistfabbtn:
                AddQuestion();
                break;
        }
    }

private void AddQuestion() {
    AddQuestionListDirections.ActionAddQuestionListToQuestions actionAddQuestionListToQuestions = 
    AddQuestionListDirections.actionAddQuestionListToQuestions();
    actionAddQuestionListToQuestions.setQuizzid(quizzid);
    navController.navigate(actionAddQuestionListToQuestions);

}

Ниже фрагментB (вопрос):

QuizzQuestionRef.document(quizzid).collection("QuizzQuestions").document().set(QuizzQuestonData).addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if(task.isSuccessful()){
                    getActivity().getSupportFragmentManager().popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
                }
                else{
                    Toast.makeText(getContext(),"Something Went Wrong in Uploading Question",Toast.LENGTH_SHORT).show();
                }
            }
        });

Ниже приведена ошибка.

java.lang.IllegalArgumentException: navigation destination 
com.example.quizzappadmin:id/action_addQuestionList_to_questions is unknown to this NavController
    at androidx.navigation.NavController.navigate(NavController.java:865)
    at androidx.navigation.NavController.navigate(NavController.java:806)
    at androidx.navigation.NavController.navigate(NavController.java:792)
    at androidx.navigation.NavController.navigate(NavController.java:987)
    at com.example.quizzappadmin.AddQuestionList.AddQuestion(AddQuestionList.java:158)
    at com.example.quizzappadmin.AddQuestionList.onClick(AddQuestionList.java:150)
    at android.view.View.performClick(View.java:5637)
    at android.view.View$PerformClick.run(View.java:22429)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6119)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

Я пробовал все способы исправить, но не понял, почему это происходит. А также я хочу знать, находимся ли мы во фрагментеB, и когда мы вернемся к FragmentA, onCreate будет вызывать снова и снова?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...