我的应用程序中有2个活动,Activity1和Activity2。当应用程序启动时,称为Acitivity1的活动。单击Activity1中的按钮应将您带到Activity2。

在Acivity2中,完成了一些数据处理,然后我使用这样的意图将数据发送回Activity1:

Intent in=new Intent(getApplicationContext(), Activity1.class);
  in.putExtra("data", data);
    startActivity(in);


然后回到Activity1,我获得了意图数据:

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity1);

    String data =(getIntent().getExtras().getString("data"));


这里的问题是,应用程序首次启动时会检查意图数据,但它不存在,所以我收到nullpointerexception错误。当Activity2是上一类时,如何确保它检查意图数据?

最佳答案

您可以使用以下方法检查意图是否存在:

getIntent().hasExtra("data");


这将返回一个布尔值。

另外,如果oyu想要将一些数据返回到第一个活动,则您应该从startActivityForResult开始第二个活动

10-08 12:05