2015-02-28 2 views
0

Моя активность 2 переходит в действие 3, а моя активность 3 имеет кнопку, которая позволяет ей вернуться к действию 2. Но как только я вернусь назад к Мероприятию 2 и попробую снова перейти в действие 3, это произойдет, когда приложение выйдет из строя.Мое приложение вылетает при переключении взад и вперед (намерение)

Так активность 2 -> Деятельность 3 -> Активность 2 -> Сбои при переходе обратно в операцию 3.

Вот намерение послать меня в операцию 3.

 Bundle extras = getIntent().getExtras(); 
     Intent intent = new Intent(Results1.this, UsersAnswers1.class); 
     intent.putExtra("usersAnswers1", usersAnswers1); 
     intent.putExtra("isATOF1", isATOF1); 

     intent.putExtras(extras); // NullPointerException 

     startActivity(intent); 

И это активность 3 посылает меня обратно в операцию 2

if (v.getId() == R.id.testResultsButton) { 
       startActivity(new Intent(UsersAnswers1.this, Results1.class)); 
      } 

Я сказал, я получаю NullPointerException на этой линии здесь в моей деятельности 2

intent.putExtras(extras); 

Почему это происходит?

ответ

1

Поскольку, когда вы вернетесь к действию 2 из 3-го занятия, а вы Bundle extras = getIntent().getExtras();, вы получаете null, поскольку дополнительные данные, которые вы получаете, относятся к действию 3, а не к действию 1. Это потому, что на этот раз вы начали действие 2 из действия 3 и не добавлял никаких дополнительных услуг в ваши намерения. getIntent() возвращает намерение, которое было использовано для запуска этого действия new Intent(UsersAnswers1.this, Results1.class), у которого нет дополнительных услуг.

+0

@ George D Спасибо за ответ, но я новичок в программировании. Как я могу это исправить? Простите, если я пропустил это в вашем ответе. –

+0

Есть много способов исправить это. Где ваш код отправляет вас на 3-ю деятельность в первую очередь? Какой метод содержит все вышеперечисленное? (включая строку, которая выбрасывает «Null Pointer Exception»? –

+0

Я отправил код в своем операторе, где я отправляю отправку на 3-ю активность. Метод onButton1Щелкните для обеих операций. –