2014-10-11 55 views
0

我使用ArrayList來存儲一些數據,然後將它傳遞到下一個活動,在該活動中通過.putStringArrayList()方法實際需要它。我在我的項目的幾個地方使用相同的過程,它的工作非常好。但是,在這種特殊情況下,當我在接收活動中提取它時,它包含null。可以肯定的是,我甚至在發送之前顯示了列表,並且顯示了我需要的字符串。這裏是我發送的ArrayList代碼:ArrayList在傳遞到下一個活動後包含null

for(int i=0; i<AssignmentTitles.size(); i++) 
     { 
      System.out.println(AssignmentTitles.get(i)); 

     } 
     Intent localIntent; 
     localIntent = new Intent(CourseFolder.this, Assignments.class); 
     Bundle b=new Bundle(); 
     b.putStringArrayList("titles",AnnouncementTitles); 
     b.putStringArrayList("links",AnnouncementLinks); 
     localIntent.putExtras(b); 

     startActivity(localIntent); 

這裏是接收活動代碼:

AssignmentTitles = getIntent().getStringArrayListExtra("titles"); 
    AssignmentLinks = getIntent().getStringArrayListExtra("links"); 
    System.out.println("size: " + AssignmentLinks.size() + "TITLES:"); 
    for(int i=0; i<AssignmentTitles.size(); i++) 
    { 
     System.out.println(AssignmentTitles.get(i)); 

    } 
    setListAdapter(new ArrayAdapter<String(Assignments.this, 
    android.R.layout.simple_list_item_1, 
    AssignmentTitles)); 

的問題是,我使用完全相同的代碼在我的項目的另一部分,它完美的作品, 可能是什麼問題呢?

+0

好吧,我可以看到你已打印AssignmentTitles但發送AnnouncementTitles的ArrayList中。那是對的嗎 ? – 2014-10-11 12:51:13

+0

檢查:http://stackoverflow.com/questions/18649728/android-cannot-pass-intent-extras-though-alarmmanager/18649849#18649849 – 2014-10-11 12:53:12

+0

@Jibran我愛你。這樣一個愚蠢的錯誤,謝謝你指出。 – 2014-10-11 13:11:07

回答

1

嘗試這種方式

AssignmentTitles = getIntent().getExtras().getStringArrayList("titles"); 
     AssignmentTitles = getIntent().getExtras().getStringArrayList("links"); 
0

使用Intent.getExtras()首先獲得Bundle,然後提取數組列表。

相關問題