2015-11-16 2 views
-1

Я написал этот код на своей первой странице:Как передать массив строк в деятельности

Intent i = new Intent(quiz1.this, answer1.class); 
i.putExtra("answer", answer); 
startActivity(i); 

И это на моей второй странице:

Bundle extras = getIntent().getExtras(); 
String[] answer = extras.getStringArray("answer"); 

Но это дает мне следующую ошибку :

"unfortunately, myapp has stopped"

+0

Также показывайте журналы сбоев с вопросом и на какой линии попадает авария –

+0

У меня нет эмулятора Android в eclipse Я использую bluestack – Mani

+1

Возможный дубликат [Передача массив строк между двумя классами в android приложение] (http://stackoverflow.com/questions/5217153/passing-string-array-between-two-class-in-android-application) –

ответ

-1

Используйте это в вашей второй деятельности

Intent intent=getIntent(); 
String [] answer = intent.getStringArrayExtra("answer"); 
+0

Просто обратите внимание, что, хотя это другой синтаксис, он все равно совпадает с кодом OP. Неважно, если вы используете Bundle или Intent, оба должны работать. –

+0

это не сработало! – Mani

+0

@Mani Какие ошибки вы получаете –

-1

Если вы передаете answer в качестве значения предполагающего заявлено как String[] вы можете создать Bundle следующим образом:

Bundle b=new Bundle(); 
b.putStringArray("answer", answer); 
Intent i = new Intent(quiz1.this, answer1.class); 
i.putExtras(b); 
startActivity(i); 

Тогда в вашей второй деятельности вы получите данные делают это:

Bundle b=this.getIntent().getExtras(); 
String[] answer =b.getStringArray("answer"); 
+0

Что ...? Downvote? Любое объяснение? –

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