Activity之间传递类对象

来源:互联网 发布:菲律宾混血美女知乎 编辑:程序博客网 时间:2024/05/16 04:45

http://hi.baidu.com/nubone/blog/item/53a21974f98c3117b051b9ba.html

Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte、byte[]、char、char[]、boolean、boolean[]、short、short[]、int、int[]、long、long[]、float、float[]、double、double[]、String、String[],还有实现Serializable、Parcelable接口的类对象。

传递类对象以前一直没搞懂怎么做,都是用静态引用。现在终于搞懂了,实现Serializable接口,废话少说,看代码。

传递的类

  1. publicclass CustomeClassimplements Serializable{   
  2.        
  3.     /**
  4.       *
  5.       */  
  6.     privatestaticfinallong serialVersionUID = -7060210544600464481L;   
  7.     private String name;   
  8.     private String id;   
  9.     privateint age;   
  10.     private String sex;   
  11.        
  12.     public String getName() {   
  13.         return name;   
  14.      }   
  15.     publicvoid setName(String name) {   
  16.         this.name = name;   
  17.      }   
  18.     public String getId() {   
  19.         return id;   
  20.      }   
  21.     publicvoid setId(String id) {   
  22.         this.id = id;   
  23.      }   
  24.     publicint getAge() {   
  25.         return age;   
  26.      }   
  27.     publicvoid setAge(int age) {   
  28.         this.age = age;   
  29.      }   
  30.     public String getSex() {   
  31.         return sex;   
  32.      }   
  33.     publicvoid setSex(String sex) {   
  34.         this.sex = sex;   
  35.      }   
  36.   
  37. }  

发送部分

  1. CustomeClass cc = new CustomeClass();   
  2. cc.setAge(21);   
  3. cc.setId("123456");   
  4. cc.setName("mingkg21");   
  5. cc.setSex("男");   
  6.   
  7. Intent intent = new Intent(this, PersonInfo.class);   
  8. intent.putExtra("PERSON_INFO", cc);   
  9. startActivity(intent);  

接收部分

  1. Intent intent = getIntent();   
  2. CustomeClass cc = CustomeClass)intent.getSerializableExtra("PERSON_INFO");   
  3. setTextView(R.id.id, cc.getId());   
  4. setTextView(R.id.name, cc.getName());   
  5. setTextView(R.id.sex, cc.getSex());   
  6. setTextView(R.id.age, String.valueOf(cc.getAge()));  

搞定,打完收工。。。



原创粉丝点击