我的活动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);
为什么会这样?
答案 0 :(得分:1)
因为当您从活动3返回活动2并且Bundle extras = getIntent().getExtras();
时,您获得null
,因为您收到的额外内容来自活动3而不是活动1.这是因为这次您从活动3开始了活动2,并没有为您的意图添加任何额外内容。 getIntent()返回用于启动此活动new Intent(UsersAnswers1.this, Results1.class)
的意图,该活动没有额外内容。