Activity其间传递类对象
Activity之间传递类对象
Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte、byte[]、char、char[]、boolean、boolean[]、short、short[]、int、int[]、long、long[]、float、float[]、double、double[]、String、String[],还有实现Serializable、Parcelable接口的类对象。
传递类对象以前一直没搞懂怎么做,都是用静态引用。现在终于搞懂了,实现Serializable接口,废话少说,看代码。
传递的类
public class CustomeClass implements Serializable{ /** * */ private static final long serialVersionUID = -7060210544600464481L; private String name; private String id; private int age; private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
发送部分
CustomeClass cc = new CustomeClass(); cc.setAge(21); cc.setId("123456"); cc.setName("mingkg21"); cc.setSex("男"); Intent intent = new Intent(this, PersonInfo.class); intent.putExtra("PERSON_INFO", cc); startActivity(intent);
接收部分
Intent intent = getIntent(); CustomeClass cc = CustomeClass)intent.getSerializableExtra("PERSON_INFO"); setTextView(R.id.id, cc.getId()); setTextView(R.id.name, cc.getName()); setTextView(R.id.sex, cc.getSex()); setTextView(R.id.age, String.valueOf(cc.getAge()));
搞定,打完收工。。。
1 楼
fanfq
2009-10-28
要是传递一个List该怎么做啊?我也尝试了,但是不行了啊,还望请教
CustomeClass cc = new CustomeClass();
cc.setAge(21);
cc.setId("123456");
cc.setName("mingkg21");
cc.setSex("男");
List<CustomeClass> list = new ArrayList<CustomeClass>();
list.add(cc);
Intent intent = new Intent(this, PersonInfo.class);
intent.putExtra("PERSON_INFO", list);
startActivity(intent);
我是这么想的,但是不行的哇,
CustomeClass cc = new CustomeClass();
cc.setAge(21);
cc.setId("123456");
cc.setName("mingkg21");
cc.setSex("男");
List<CustomeClass> list = new ArrayList<CustomeClass>();
list.add(cc);
Intent intent = new Intent(this, PersonInfo.class);
intent.putExtra("PERSON_INFO", list);
startActivity(intent);
我是这么想的,但是不行的哇,
2 楼
mingkg21
2009-10-28
用Serializable接口传递对象
http://mingkg21.iteye.com/admin/blogs/463895
发送部分
接收部分
http://mingkg21.iteye.com/admin/blogs/463895
发送部分
CustomeParcelable cc = new CustomeParcelable(); cc.setAge(21); cc.setId("123456"); cc.setName("mingkg21"); cc.setSex("男"); ArrayList<CustomeParcelable> list = new ArrayList<CustomeParcelable>(); list.add(cc); Intent intent = new Intent(this, PersonInfo.class); intent.putParcelableArrayListExtra("PERSON_INFO", cc); startActivity(intent);
接收部分
Intent intent = getIntent(); ArrayList<CustomeParcelable> list = new ArrayList<CustomeParcelable>(); list = intent.getExtras().getParcelableArrayList("PERSON_INFO");
3 楼
mingkg21
2009-10-28
上面写错了。。。
用Parcelable接口传递对象
用Parcelable接口传递对象
4 楼
pgmsoul
2011-06-20
PersonInfo是什么东西?