如果您想在活動之間傳遞數據,請使用intent而不是靜態變量。
ArrayList
實現了可序列化,因此您可以使用intent來傳遞列表。
如果你想保持一個全局狀態,你可以使用應用程序類,但我猜意圖應該是我選擇這種情況。
Intent i = new Intent(ActivityName.this,SecondActivity.class);
intent.putStringArrayListExtra("key",yourlist);
startActivity(intent);
然後在SecondActivity獲取列表
ArrayList<String> list = getIntent().getStringArrayExtra("key");
如果你想使用的應用類,你可以參考這個
Using MyApplication class in android for JSON data
應用類
public class MyApplication extends Application{
ArrayList<String>> arraylist;
public static MyApplication instance=null;
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
}
public static MyApplication getInstance()
{
if(instance==null)
{
instance=new MyApplication();
}
return instance;
}
public void setArrayListData(ArrayList<String> setData)
{
arraylist=setData;
}
public ArrayList<String> getArrayListData()
{
return arraylist;
}
}
在清單應用標籤的android:名字 「packagename.MyApplication」 在活動
然後
MyApplciation mapp = MyApplication.getInstance();
mapp.setArrayList(yourlist);
同樣使用getArrayList()
您可以使用應用程序類。 – Raghunandan
我用從stackoverflow取得的一個例子來試用它。但我無法實現這個概念本身。 – urb
假設'ListActivity'從'MainActivity'啓動,您可以使用EXTRA傳遞notificationList。 – ramaral