今天继续学习了Activity之间的传值方式。
接上一次的学习内容,上一次介绍的是Intent 意图对象的传值方式,下面来介绍其他的三种方式
静态变量
A类中,声明一个公共的静态成员,在合适的地方存入数据
B类中,直接访问A类的静态成员,读取相应的数据
关键代码:
A中 public static Map<String,Object> infos=new HashMap<String,Object> (); //用于Activity之间数据处理
infos.put("msg","通过静态传值");
B中
String msg=MainActivity.infos.get("msg").toString();
全局变量——Application组件
创建Apploication的子类,并在类中声明全局变量(类成员)
在manifest清单文件的<application>标签中,通过android:name属性,将创建的 Application类引入进来。
A中
B中
回传数据的方式
A:startActivityForResult(Intent intent,int requestCode)启动页面,从此页面中请求数据
B:setResult(int resultCode,Intent data) 设置回传数据
A:重写onActivityResult(int requestCode,int resultCode, Intent data )