我在android listview中有一组值。当我点击提交按钮我希望在另一个活动中获得整个列表。我尝试使用intent.putExtra();但我得到了以下错误。
java.lang.RuntimeException: Parcel: unable to marshal value com.example.technical14.recyclers.Planet@4011368
我的代码是 -
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);
}
});
我是android的新手。所以请帮助我。
答案 0 :(得分:2)
Planet
Parcelable
然后使用
发送intent.putExtra("QuestionListExtra", apl);
和Proceed
活动
ArrayList<Planet> list = getIntent().getParcelableArrayListExtra("QuestionListExtra");
答案 1 :(得分:2)
找到解决方案
您的模型类应该实现Parcelable:
public class Planet implements Parcelable {
// Your setter and getter methods
}
将你的集会者放到putExtra():
ArrayList<Planet> contactList = // planets data;
Intent intent = new Intent(this,DisplayContact.class);
intent.putExtra("Contact_list", contactList);
startActivity(intent);
3.在第二项活动中:
ArrayList<ContactClass> myList = getIntent().getParcelableExtra("Contact_list");