У меня есть 3 вида деятельности: A , B , C . Когда я нажимаю на элемент в RecyclerView
в действии A действие B будет открыто. Есть несколько String
значений, которые я передал от A до B .
В действии B , когда я нажимаю на кнопку, я перехожу к заданию C . В C , когда я нажимаю кнопку возврата на моем телефоне (кнопка возврата по умолчанию для Android), он обычно возвращается к активности B . Но я также вставил кнопку возврата в ToolBar
, используя родительскую активность. Когда я нажимаю эту кнопку, появляется сообщение об ошибке, что значение String
, которое пытается получить в действии B, равно нулю. Я понимаю, почему ошибка показывает. Это очевидно, потому что нет строки, переданной из C в B для извлечения.
Но почему я не получаю эту ошибку, когда я нажимаю кнопку с телефона по умолчанию? Как я могу решить это?
Задание A
Intent intent = new Intent(getActivity(), Chat.class);
intent.putExtra("Recievers_Id", userId);
intent.putExtra("Recievers_Name", userName);
startActivity(intent);
Деятельность B
MessageSenderId = mAuth.getCurrentUser().getUid();
MessageRecieverId = getIntent().getStringExtra("Recievers_Id");
MessageRecieverName = getIntent().getStringExtra("Recievers_Name");
Деятельность C
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Получение ошибки на
MessageRecieverId = getIntent().getStringExtra("Recievers_Id");
MessageRecieverName = getIntent().getStringExtra("Recievers_Name");
потому что, очевидно, нечего извлекать ... как мне решить эту проблему