2013-09-17 4 views
0

Я знаю, что это распространенный вопрос, и я прошу прощения, если я пропустил ответ на свою проблему, но я уже пробовал несколько вещей и ничего не работает.Intent имеет значение null в новой активности

Первый кодовый блок записывает массивы в пакет и отправляет его с помощью намерения во вторую активность, но с getIntent() я получаю только пустое намерение.

Intent playerstatsintent = new Intent(this, Save.class); 
    Bundle allstats = new Bundle(); 
    allstats.putStringArray("EXTRA_NAMES", teams); 
    allstats.putIntArray("PLAYER_STATS1", array1); 
    allstats.putIntArray("PLAYER_STATS2", array2); 
    allstats.putIntArray("PLAYER_STATS3", array3); 
    allstats.putIntArray("PLAYER_STATS4", array4); 
    playerstatsintent.putExtras(allstats); 

    startActivity(playerstatsintent); 

} 

Вторая деятельность должна получить так:

Intent playerstatsintent = getIntent(); 
Bundle statisticsbundle = playerstatsintent.getExtras(); 


int[] playeronestats = statisticsbundle.getIntArray("PLAYER_STATS1"); 
int[] playertwostats = statisticsbundle.getIntArray("PLAYER_STATS2"); 
int[] playerthreestats = statisticsbundle.getIntArray("PLAYER_STATS3"); 
int[] playerfourstats = statisticsbundle.getIntArray("PLAYER_STATS4"); 

String[] opponents = statisticsbundle.getStringArray("EXTRA_NAMES"); 

Я надеюсь, что кто-то может помочь мне, потому что я не вижу его.

Спасибо, Демьян

+1

, в каком методе вы называете getIntent? – njzk2

+0

ohhhh .... Я такой глупый ... Большое спасибо. Все время, когда он пытался найти его, но пропустил, я не писал его в методе onCreate. – alltooconfusingthereforesleep

ответ

0

Я нашел свою ошибку благодаря njzk2. Я не вызывал getIntent в методе onCreate.

+0

вам не нужно вызывать getIntent() в методе onCreate(), если вы не вызвали метод setIntent(), указав другое намерение. getIntent() обычно возвращает намерение, с которого была запущена Activity! –

+0

Просто, чтобы вы знали, это необязательно должно быть в 'onCreate()', но не раньше 'onCreate()'. Тем не менее, это, как правило, лучшее место для этого, чтобы вы могли все исправить. Просто FYI. Кроме того, вы можете принять свой собственный ответ, чтобы он мог помочь другим, если njzk2 не хочет публиковать ответ. – codeMagic

+0

@NitinSethi вы не можете называть его * до * 'onCreate()' – codeMagic

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