簡體   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