2014-11-03 80 views
-1

我知道有2种方法可以做到这一点,Parcelable和Serializable。另一种方法(坏的)是静态变量。Android传递ArrayList <Object> Intent

该列表中的条目可以是A类或B类

我试图通过使用Parcelable和序列化没有成功列表的情况下,由于类对象没有实现任何东西。

// When setting: 

List<Object> liveMatchList = DataCenter.getMatchesByDate(context, date, 
        tIdsAsString, true); 
intent.putExtra("SER", liveMatchList); 

// When getting: 

List<Object> matchesList = (List<Object>)intent.getSerializableExtra("SER"); 

请问该怎么办?

+0

粘贴代码吗? – SMA 2014-11-03 09:27:59

+0

使用'Parcelable'。你有真棒方法'意图#putParcelableArrayListExtra' – 2014-11-03 09:28:37

+0

我已经更新了我的问题,它只是列表,它不能被parcelable,因为我使用的类'对象',这是不可parcelable。 – 2014-11-03 09:32:38

回答

0

尝试用下面的代码:

Intent intent = new Intent(context,DESTINATION ACTIVITY.class); 
intent.putExtra("data",YOUR ARRAY OF OBJECT) 
startActivity(intent); 

//获取数据在另一个活动

ARRAY OF OBJECT = (ArrayList<String>) this.getIntent().getSerializableExtra("data"); 

//这里I`已经使用ArrayList的解释你。

+0

谢谢。但我不得不使用ArrayList (特别是) – 2014-11-03 09:40:29

+0

@HamzehSoboh雅,因为我认为你不能传递自定义对象。 – 2014-11-03 09:42:28

0
Intent i = getIntent(); 
stock_list = i.getStringArrayListExtra("stock_list"); 
and 
stock_list = getIntent().getStringArrayListExtra("stock_list"); 

Passing ArrayList through Intent

相关问题