2014-10-11 2 views
0

Я использую ArrayList для хранения некоторых данных, а затем передаю его следующему действию, где это действительно необходимо с помощью метода .putStringArrayList(). Я использую тот же процесс в нескольких местах в моем проекте, где он работает абсолютно нормально. Однако в этом конкретном случае, когда я извлекаю его в принимающей активности, он содержит null. Разумеется, я даже отобразил список перед его отправкой, и он отобразил строки, которые мне нужны. Вот мой код для отправки Список_массивов: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

Ok я могу увидеть вы напечатали ArrayList из AssignmentTitles, но отправка AnnouncementTitles. Это верно ? –

+0

Check: http://stackoverflow.com/questions/18649728/android-cannot-pass-intent-extras-though-alarmmanager/18649849#18649849 –

+0

@Jibran Я люблю тебя. Такая глупая ошибка, спасибо за это. –

ответ

1

Попробуйте этот путь

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

Используйте Intent.getExtras(), чтобы получить Bundle, а затем извлеките списки массивов.

Смежные вопросы