一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

安卓开发之Intent传递Object与List教程

时间:2015-06-20 编辑:简简单单 来源:一聚教程网

 

Intent 不仅可以传单个的值,也可以传对象与数据集合。 传递List 数据集合。

ArrayList info = new ArrayList();
     info.add(name);
     info.add(website);
     info.add(weibo);
Intent intent = new Intent(MainActivity.this, ResultActivity.class);
    intent.putStringArrayListExtra("infoList", info);
    startActivity(intent);

接收String 的方法。

ArrayList infoList = new ArrayList();
infoList = getIntent().getStringArrayListExtra("infoList");

传递Object,此Obiect对象需要实现Serializable接口,用Serializable方式传递Object的语法:bundle.putSerializable(key,object);用Serializable方式接收Object的语法:object=(Object) getIntent().getSerializableExtra(key);实现Serializable接口就是把对象序列化,然后再传输,和Java的常用编程没什么明显区别,而且Object不需要明显改变,推荐用这种方式。

下面是Object对象:

public class SerInfo implements Serializable {
 
   private String name;
   private String website;
   private String weibo;
    ............
}

get,set方法自己创建,用Serializable 传递Object:

SerInfo serInfo = new SerInfo(name, website, weibo);
   Intent intent = new Intent();
   Bundle bundle = new Bundle();
   bundle.putSerializable("serinfo", serInfo);
   intent.setClass(MainActivity.this, ResultActivity.class);
   intent.putExtras(bundle);
   startActivity(intent);

用Serializable 接收Object:

SerInfo serInfo = (SerInfo) getIntent().getSerializableExtra("serinfo");

这里讲的只是用Serializable这种方式传递数据,当然还有一种方式用Parcelable接口实现。

热门栏目