2011-03-16 122 views
1

我想將「ArrayList objArrayList」從一個活動傳遞給第二個活動,並且希望在那裏接收。我正在創建一個簡單的類,其中有四個數組列表。我創建該類的對象,並通過傳遞參數添加到arraylist中調用該類的方法。之後,我在objArrayList中添加該類對象。 我可以將objArrayList從一個活動傳遞給第二個活動並在那裏接收它?如何將ArrayList <object>從一項活動發送到第二項活動?

謝謝, 維沙卡。

回答

2

第一情境(可活動/服務等)

您有幾種選擇:

1)使用BundleIntent

Intent mIntent = new Intent(this, Example.class); 
Bundle extras = mIntent.getExtras(); 
extras.putString(key, value); 

2)創建新套裝

Intent mIntent = new Intent(this, Example.class); 
Bundle mBundle = new Bundle(); 
mBundle.extras.putString(key, value); 
mIntent.putExtras(mBundle); 

3)使用的意圖

putExtra()快捷方法
Intent mIntent = new Intent(this, Example.class); 
mIntent.putExtra(key, value); 

新的上下文(可以是活動/服務等)

Intent myIntent = getIntent(); // this getter is just for example purpose, can differ 
if (myIntent !=null && myIntent.getExtras()!=null) 
    String value = myIntent.getExtras().getString(key); 
} 

注:捆綁有 「得」 與「放「所有原始類型的方法,Parcelables和Serializables。我只是將Strings用於示範目的。

您的Arraylist類必須是Parcelable或Serializable。所以你應該繼承它來添加這些功能,因爲我認爲他們錯過了最初的實現。

然後看看他們會幫助你的其他問題。 Serialization issue with SortedSet, Arrays, an Serializable

+0

對於選項2,我看不到任何可以應用於mBundle的「額外」。 – hornetbzz 2012-08-31 14:37:39

0

使用標準的意圖機制。把你的列表放到意圖的附加區域並通過它。

相關問題