繁体   English   中英

在Android中使用Intent时出现Nullpointer异常

[英]Nullpointer Exception When Intent used in Android

我有一个与意图有关的问题。

A级

Intent i=new Intent(getApplicationContext(),JobOffer.class);
i.putExtra("From",aryListBean.get(arg2).getUser());
i.putExtra("StartDate",aryListBean.get(arg2).getStartDate());
i.putExtra("DueDate",aryListBean.get(arg2).getEndDate());
startActivity(i);

B级

 Bundle b=getIntent().getExtras();
      String user=b.getString("From");
      String startdate=b.getString("StartDate");
      String duedate=b.getString("DueDate");
      ArrayList<String> hr_offerdet=b.getStringArrayList("AryHrOffer");

    tvUser.setText("   "+user);
    tvStarDate.setText("   "+startdate);
    tvDueDate.setText("   "+duedate);

C级:返回B级的后退按钮

现在在这里,我已经成功地将数据发送到A类到B类。我将数据发送到B类,现在当我从B类移到C类,然后又回到B类时,出现了Nullpointer异常。 你有什么不同的方式来解决这个问题吗? 请帮忙

在您的代码中,您无法通过键“ AryHrOffer”传递数组列表。

另外,您应始终首先检查该捆绑包是否存在。

例如。 if(b!=null){ //... }

然后,所有需要打开活动B的类都应传递所需的参数(如果确实需要),否则,如果包为null,则将其忽略。

编辑:

重新阅读您的问题后,我注意到您说“ ..并再次回到类B,有Nullpointer异常”

问题可能不在于意图的额外传递,而是活动B的onResume上的某些内容。

首先:请提供logcat以及您对NullPointer的指示。

您必须检查以下内容:

if (getIntent() != null && getIntent().getExtras() != null) {
    Bundle b = getIntent().getExtras();
    String user = b.getString("From");
    String startdate = b.getString("StartDate");
    String duedate = b.getString("DueDate");
    ArrayList < String > hr_offerdet = b.getStringArrayList("AryHrOffer");

    tvUser.setText("   " + user);
    tvStarDate.setText("   " + startdate);
    tvDueDate.setText("   " + duedate);
}

您必须检查bundle是否为null

if(b!=null){

 // your code

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM