У меня есть фрагмент 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 будет вызывать снова и снова?