Activity 数据交换的几种形式介绍
来源:互联网 发布:霜之哀伤淘宝 编辑:程序博客网 时间:2024/04/30 08:45
有时候我们想要用Intent传递一个对象,或者List<Object>,那该怎么传递呢?这里就具体说下具体如何做:
使用Intent传递List<Object>或对象都必须让该对象实现Serializable 接口,通过序列化传递数据
public class IntentData implements Serializable{ }
一、对象的传递与接收
1.传递对象
Intent intent = new Intent(this, OtherActivity.class);IntentData data = new IntentData();// 实现 序列化 接口intent.putExtra("key", data); startActivity(intent);
2.接收该对象
getIntent().getSerializableExtra("key");二、List<Object> 的传递与接收
1.List<Object> 的传递
Intent intent = new Intent(this, OtherActivity.class);List<IntentData> list = new ArrayList<IntentData>();IntentData data = new IntentData();// 实现 序列化 接口list.add(data);intent.putExtra("key", (Serializable)list); startActivity(intent);
2.List<Object> 的接收
//接收传递的listList dataLists = (List<IntentData>) getIntent().getSerializableExtra("key");
同样我们也可以使用缓存类来传递数据,在启动下一个Activity的时候,将数据保存到缓存类,在启动的Activity中,再从缓存类中取出
/** * 数据缓存类 * @author shihao * */public class Data {public static IntentData data;public static IntentData getData() {return data;}public static void setData(IntentData data) {Data.data = data;}}类似的我们也可以用Application来传递数据
public class MyApp extends Application {private IntentData data;public IntentData getData() {return data;}public void setData(IntentData data) {this.data = data;}}
需要在配置文件AndroidManifest.xml中做一下修改
<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" android:name="com.example.androidintent.MyApp">
0 0
- Activity 数据交换的几种形式介绍
- JSP数据交换的形式
- 几种编码的形式的介绍
- 几种编码的形式的介绍
- 两个数据交换的几种解法
- 两个数据交换的几种方式
- iOS中实现数据交换的几种方法介绍以及其效率对比
- Activity的几种启动模式介绍
- ASP.NET MVC 传递数据的几种形式
- 数据去重的几种实现形式
- c语言数据交换的几种方法
- c语言数据交换的几种方法
- 交换两个整型数据的几种方式
- C++中两个数据交换的几种实现方式
- Activity与Fragment之间的数据交换
- android Activity之间的数据交换
- DDOS 的几种形式
- 封装的几种形式
- 选择排序算法 及 异或交换易出错陷阱
- UIControl
- 2015.2.7
- Spark基本配置的理解--从验证spark扩展性出发
- 【c++】第一遍宏观总结
- Activity 数据交换的几种形式介绍
- 键盘上方自定义view
- CSS布局模型(三)——层模型
- HDU 2147 kiki's game 博弈
- HDU 1540 Tunnel Warfare 线段树
- ACM——01——1006: 【入门】倒序输出一个四位整数 【运算符】
- poj 1269 判断两直线位置
- label 首行缩进
- Socket常见错误代码与描述