安卓开发之intent传递object与list|安卓开发之Intent传递Object与List教程

更新时间:2019-11-17    来源:安卓教程    手机版     字体:

【www.bbyears.com--安卓教程】

 

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接口实现。

本文来源:http://www.bbyears.com/shoujikaifa/79800.html

热门标签

更多>>

本类排行