将arraylist
问题描述:
我在android listview中设置了一组值。当我点击提交按钮,我想在另一个活动中获得整个列表。我试着intent.putExtra();但我得到以下错误。将arraylist <object>发送给android的其他活动
java.lang.RuntimeException: Parcel: unable to marshal value [email protected]
我的代码 -
proceed.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ArrayList<Planet> apl = planetsList;
Intent intent = new Intent(MainActivity.this, Proceed.class);
intent.putExtra("QuestionListExtra", apl);
startActivity(intent);
}
});
我是新来的机器人。所以请帮助我。
答
制作Planet
Parcelable使用http://parcelabler.com/
,然后发送使用
intent.putExtra("QuestionListExtra", apl);
和Proceed
活动
ArrayList<Planet> list = getIntent().getParcelableArrayListExtra("QuestionListExtra");
答
查找解决
-
模型类应该是实现Parcelable:
public class Planet implements Parcelable { // Your setter and getter methods }
-
把你arralist到putExtra():
ArrayList<Planet> contactList = // planets data; Intent intent = new Intent(this,DisplayContact.class); intent.putExtra("Contact_list", contactList); startActivity(intent);
3.In次活动:
ArrayList<ContactClass> myList = getIntent().getParcelableExtra("Contact_list");
检查我回答:http://stackoverflow.com/a/43424961/6756514 –
发布'星球'类 –