博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android intent 传递list或者对象
阅读量:6117 次
发布时间:2019-06-21

本文共 1261 字,大约阅读时间需要 4 分钟。

方法一: 

如果单纯的传递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://mwvka.baihongyu.com/

你可能感兴趣的文章
快来给宝宝打分
查看>>
vue-lazyload源码分析
查看>>
Hive1.0.0安装
查看>>
你所听到的技术原理、技术本质到底是什么?
查看>>
BGP笔记(一)
查看>>
拷贝构造函数是必须要带引用类型的参数的, 而且这也是编译器强制性要求的...
查看>>
VMware中centos6.5mini设置静态IP
查看>>
Linux文件查找之find详解
查看>>
iptables nat表转发
查看>>
App自动化测试必备之adb使用
查看>>
Apache服务器的基本配置(详细)
查看>>
使用shell批量添加用户
查看>>
记一个OfficeException
查看>>
python 内置模块collections
查看>>
深入JVM锁机制
查看>>
PHP编译安装
查看>>
向ios模拟器里添加图片的简单方法
查看>>
《逆向分析实战》数据的存储及表示形式
查看>>
这本Python入门畅销书《“笨办法”学python 3》,不仅仅是一本书
查看>>
Linux笔记(磁盘格式化mke2fs/mkfs.xfs,磁盘挂载,手动增加swap空间)
查看>>