2012-04-30 32 views
0

我想從一個活動傳遞一個字符串數組到另一個活動,但是當我嘗試在第二個活動中讀取數組時,值爲null。從另一個活動傳遞的初始化數組

下面是如何我傳遞數組從第一活動:

Bundle bundle = new Bundle(); 
bundle.putStringArray("Array", createArray(text)); 
Intent itemIntent = new Intent(this,Details.class); 
itemIntent.putExtra("passedArray", bundle); 
startActivity(itemIntent); 

createArray(文本)是返回陣列的方法。

這裏是如何我試圖讀取數組中的第二個活動:

Bundle extras = this.getIntent().getExtras(); 
String[] array = extras.getStringArray("Array"); 

如何初始化在第二活動陣列與已經傳遞給它相應的數組值?如果我嘗試讀取它們尚未初始化的任何值並且爲空。

回答

1

不要使用捆綁試試這個,首先計算你的數組:

itemIntent.putExtra("passedArray", createArray(text)); 
startActivity(itemIntent); 

,並接收作爲

String[] array = this.getIntent().getStringArray("passedArray"); 
+0

不得不使用'Bundle extras = this.getIntent()。getExtras(); String [] array = extras.getStringArray(「passedArray」);'接收數組,但除了它的工作。謝謝! – user1362255

0

你嵌套包含在另一個額外的陣列捆綁。 這意味着你必須獲得「passedArray」extra(這是一個包),然後從你剛剛提取的包中獲取你的「Array」。相反,改變你的代碼到這

Intent itemIntent = new Intent(this,Details.class); 
itemIntent.putExtra("Array", createArray(text)); 
startActivity(itemIntent); 
+0

如果我使用,我得到的錯誤消息「方法putStringArray(字符串,字符串[])是未定義的類型意圖」? – user1362255

+0

糟糕。我編輯了我的答案以解決我的錯誤。它應該只是putExtra – dymmeh

相關問題