2016-03-06 3 views
0
@Override 
protected void onResume() { 
    super.onResume(); 
    show = (ListView)findViewById(R.id.listView); 

    Intent intent = getIntent(); 
    String Title = intent.getExtras().getString("name"); 
    addArray.add(Title); 
    ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, addArray); 
    show.setAdapter(adapter); 
} 

Мое приложение продолжает сбой, потому что что-то не так с моим методом onResume(). Мне не разрешено использовать getIntent() при попытке создать ListView с помощью ArrayAdapter?Что не так с моим методом onResume?

+4

Что такое stacktrace? – RafaelC

+0

Пожалуйста, сообщите об ошибке, которую вы получите при сбое приложения. –

+0

Передача данных между двумя действиями может быть выполнена с помощью Bundle, который является аргументом метода oncreate(), поэтому, если вы хотите получить данные из другой активности, вы должны вызвать ее в oncreate() и инициализировать представление списка в oncreate тоже – dileep

ответ

1

Если вы запускаете новое действие с установочным набором, getIntent(). GetExtra() будет работать должным образом, как ожидалось.

Метод getIntent(). GetExtra() возвращает значение null, поэтому вы не можете инициализировать адаптер массива. Поставьте чек для не null.

Либо вы можете использовать:

@Override 
protected void onNewIntent(Intent intent) { 
    super.onNewIntent(intent); 
    String Title = intent.getExtras().getString("name"); 
    addArray.add(Title); 
    ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, addArray); 
    show.setAdapter(adapter); 
} 
+0

Я создал нулевую проверку и исправил ее. – user3622478

0

Если вы используете фрагмент, поместите метод findViewById внутри onCreateView(), установите адаптер в runOnUIThread() (если ваш код имеет сетевые вызовы) и принимаю намерение внутри onCreate(). Если вы используете активность, вы можете сделать это внутри onCreate(). Кроме того, используйте метод уведомления адаптера о возможных изменениях данных.

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