[英]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.