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