Android intent传递list或对象

方法一: 
如果单纯的传递List<String> 或者List<Integer>的话 就可以直接使用

Java代码

intent.putStringArrayListExtra(name, value)

intent.putIntegerArrayListExtra(name, value)

方法二: 
如果传递的是List<Object>,可以把list强转成Serializable类型,然后通过 
Java代码  putExtras(key, (Serializable)list)  
方法传递过去,接受的时候用 
Java代码  (List<YourObject>) getIntent().getSerializable(key)  
就可以接受到List<YourObject>数据了

但是 切记 你的YourObject类必须要实现Serializable接口

方法三: 
一种是 
Java代码  Bundle.putSerializable(Key,Object);  
另一种是 
Java代码  Bundle.putParcelable(Key, Object);  
当然这些Object是有一定的条件的,前者是实现了Serializable接口,而后者是实现了Parcelable接口

方法四: 
用intent传来传去 觉得不方便 我们可以写一个在application里面的全局数据

1、创建一个属于你自己的android.app.Application的子类 
2、在manifest中申明一下这个类, 
3、这时android就为此建立一个全局可用的实例,你可以在其他任何地方使用Context.getApplicationContext()方法获取这个实例,进而获取其中的状态(变量)。

继承Application 
Java代码

class MyApp extends Application {

private String myState;

public String getState(){

return myState;

}

public void setState(String s){

myState = s;

}

}

关于AndroidManifest.xml中的配置,原来直接给application加个name就可以了,如下面所示: 
Java代码  <application android:name=".MyApp"           android:icon="@drawable/icon"  android:label="@string/app_name">

使用 
Java代码

class Blah extends Activity {

@Override

public void onCreate(Bundle b){

...

MyApp appState = ((MyApp)getApplicationContext());

String state = appState.getState();

...

}

}

***此为转载,不过感觉自己比较常用利于参开放在这里:http://hi.baidu.com/ihsauqaxblbdmwq/item/dfc9cf9c352b0bdf1a49dfd5

时间: 2024-10-27 01:01:12

Android intent传递list或对象的相关文章

android intent 传递list或者对象

方法一: 如果单纯的传递List<String> 或者List<Integer>的话 就可以直接使用 Java代码 intent.putStringArrayListExtra(name, value) intent.putIntegerArrayListExtra(name, value) 方法二: 如果传递的是List<Object>,可以把list强转成Serializable类型,然后通过 Java代码  putExtras(key, (Serializable

Android Intent传递对象小结

效果: 想看实例的,感兴趣的可以看之前的一篇文章 Android ViewPager Fragment实现选项卡 部分关键代码: public class SerializeActivity extends Activity implements Serializable { Button btnlist, btnParcelable, btnSerialze; private final String TAG = "SerializeActivity"; public final s

Android intent 传递对象以及返回刷新

之前项目需要,找过这方面知识.所以今天也总结一下.大家都知道activity跳转用intent,Android的当前页面跳转到新的页面.当然跳转的同时常常要携带数据或者对象.那我下面就说说跳转带对象吧.还有在例子当中,新的activity返回时,也有对象一起返回.下面看代码,只要入门Android了都看得懂,我就不再写很多注释了. demo源码例子下载地址:点击此处下载 有两种对象类型可以传递,一是Parcelable,推荐用这个.二是Serializable.当然你在class建立对象时,都要

Android Intent传递对象和集合

Article article = JsonUtils.getArticle(content); intent = new Intent(activity, CompositionCorrect.class); Bundle bundle = new Bundle(); bundle.putSerializable("ARTICLE", article); intent.putExtras(bundle); startActivity(intent); 获取传递的对象 private

Android Intent传递对象为什么要序列化?

为什么?    a.永久性保存对象,保存对象的字节序列到本地文件中 b.对象可以在网络中传输 c.对象可以在IPC之间传递(进程间通信) 那选哪个序列化? 1)在使用内存的时候,Parcelable比Serializable性能高,所以推荐使用Parcelable. 2)Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC. 3)Parcelable不能使用在要将数据存储在磁盘上的情况,因为Parcelable不能很好的保证数据的持续性在外界有变化的情况下.尽管Seri

Android Intent传递对象摘要

效果: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaG9uZ3NoZW5ncGVuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" > 想看实例的,感兴趣的能够看之前的一篇文章 Android ViewPager Fragment实现选项卡 部分关键代码: public class SerializeActivity extends

Android Intent 基本使用及对象构成

http://www.cnblogs.com/mengdd/archive/2013/03/18/2965839.html Intent Intent基本使用 Intent可以理解为不同组件通信的媒介或者信使. Intent可以启动一个Activity,也可以启动一个Service,还可以发起一个广播Broadcast. 具体方法如下表: 组件名称 方法名称 Activity startActivity() startActivityForResult() Service startServic

android intent 传递 list&lt;object&gt;

android 中 intent 如何传递arraylist<object>?hashmap intent可以传递 list<int> .list<string>等等,但我没找到有object.所以也没list<map<String,object>>类型, 在此可以这样 intent intent = new intent(); intent.putExtra("list",new ArrayList<HashMap&l

android activity传递实体类对象

通过实现Parcelable接口序列化对象的步骤: 1.实现Parcelable接口.2.并且实现Parcelable接口的public void writeToParcel(Parcel dest, int flags)方法 .3.自定义类型中必须含有一个名称为CREATOR的静态成员,该成员对象要求实现Parcelable.Creator接口及其方法. public class Person implements Parcelable {     public static final Pa