之前接触过系列化对象,但具体怎么用的不是很清楚,今天看了下别人的博客,想和大家一起分享下用法。
activity之间传递类对象 相应的activity和fragment之前也可以传递对象
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()));
|