从工具栏使用后退箭头导航时的Android java.lang.NullPointerException

时间:2016-07-11 13:29:24

标签: java android android-intent android-toolbar

我有3项活动A,B和C.

从活动A,我发送Intent到活动B。

根据Intent的内容,我在活动B中显示图像1或2。 从相同的活动B我转到活动C,以显示基于相同意图的更多信息。

从导航工具栏后退箭头从活动C到B,我有一个错误:

  

显示java.lang.NullPointerException

使用if语句我解决了错误,但是我可以返回相同的意图信息来显示图像1或2,因为Intent现在是NULL

 // onCreate method in activity B

 // Get intent from Activity A
    Intent i = getIntent();
    String r = i .getStringExtra("myIntent");
    Class c= Response.Parse(r);
  if (c != null) {
        //show result in Activity B
        displayResult(c.IsValidate());
  }

1 个答案:

答案 0 :(得分:0)

当您按工具栏上的后退按钮时,通过发送必要的意图来启动上一个活动。

当您开始下一个活动时,请致电finish()以使其生效。否则,您将不得不重写newIntent()方法来处理传递的意图。

例如..当您从C活动中单击后退时,请执行以下操作:

Intent newIntentforBActivity = new Intent();
newIntentforBActivity.putExtra("myIntent","yourdata");
startActivity(newIntentforBActivity);
finish();

只需使用必要的参数发回新的意图。放置数据的逻辑取决于您的逻辑。