Android Intent传递对象摘要
效果:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaG9uZ3NoZW5ncGVuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
想看实例的,感兴趣的能够看之前的一篇文章
Android ViewPager Fragment实现选项卡
部分关键代码:
public class SerializeActivity extends Activity implements Serializable { Button btnlist, btnParcelable, btnSerialze;
private final String TAG = "SerializeActivity";
public final static String LIST_KEY = "ArrayList";
public final static String PAR_KEY = "parcelable";
public final static String SER_KEY = "serializable";
private static final long serialVersionUID = 1L; private ArrayList<String> m_list; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_serialize);
initView();
initlist();
}
/*
* 初始化视图
*/
public void initView() {
btnlist = (Button) findViewById(R.id.btnlist);
btnParcelable = (Button) findViewById(R.id.btnParcelable);
btnSerialze = (Button) findViewById(R.id.btnSerialze);
btnlist.setOnClickListener(btnlistener);
btnParcelable.setOnClickListener(btnlistener);
btnSerialze.setOnClickListener(btnlistener);
}
public void initlist() { m_list = new ArrayList<String>();
m_list.add("www.88ios.com");
m_list.add("Android移动开发");
m_list.add("IOS开发入门"); }
/*
* button点击事件
*/
OnClickListener btnlistener = new OnClickListener() { public void onClick(View v) {
switch (v.getId()) {
case R.id.btnlist: intentList();
break;
case R.id.btnParcelable: intentParcelabe();
break;
case R.id.btnSerialze: intentShowSer(); break;
}
}
};
/*
*
*/
public void intentList() {
Intent list_intent = new Intent();
list_intent.putStringArrayListExtra(LIST_KEY, m_list);
list_intent.setClass(SerializeActivity.this, ShowInfo.class);
startActivity(list_intent);
}
/*
*
*/
public void intentParcelabe() {
Student m_Student = new Student();
m_Student.setName("88ios.com");
m_Student.setAge(25);
m_Student.setSex("男");
Intent p_Intent = new Intent(SerializeActivity.this,
ShowParcelabe.class);
Bundle mBundle = new Bundle();
mBundle.putParcelable(PAR_KEY, m_Student);
p_Intent.putExtras(mBundle);
startActivity(p_Intent);
}
/*
*
*/
public void intentShowSer() {
final SerializableMap myMap = new SerializableMap(); List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> maplist;
Map<String, Object> paramMap4 = new HashMap<String, Object>(); paramMap4.put("name", "洪生鹏");
paramMap4.put("website", "www.88ios.com");
paramMap4.put("address", "广州");
myMap.setMap(paramMap4); SerializableMap serializableMap = (SerializableMap) myMap;
maplist = serializableMap.getMap();
list.add(maplist); Intent mIntent = new Intent(SerializeActivity.this, ShowSer.class);
Bundle mBundle = new Bundle(); mBundle.putSerializable("map", (Serializable) myMap);
//mBundle.putSerializable("map", (Serializable) list); mIntent.putExtras(mBundle);
startActivity(mIntent);
} }
ShowInfo.java
public class ShowInfo extends Activity { private Intent list_intent;
private ArrayList<String> m_arrayList;
private TextView textview; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_info); textview = (TextView) findViewById(R.id.textview);
StringBuffer sb = new StringBuffer(); list_intent = getIntent();
m_arrayList = list_intent.getExtras().getStringArrayList(
SerializeActivity.LIST_KEY);
m_arrayList.get(0); sb.append(m_arrayList.get(0) + " \n" + m_arrayList.get(1) + "\n"
+ m_arrayList.get(2)); textview.setText(sb);
} }
ShowParcelabe.java
public class ShowParcelabe extends Activity {
private TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_parcelabe); textview = (TextView)findViewById(R.id.textview);
Student p_student = (Student)getIntent().getParcelableExtra(SerializeActivity.PAR_KEY);
textview.setText("姓名: " + p_student.getName()+"\n"+
"年龄: " + p_student.getAge() + "\n" +
"性别 : " + p_student.getSex() + "\n" +
"类:" + p_student.getClass());
} }
ShowSer.java
public class ShowSer extends Activity {
private TextView textview;
StringBuilder sb = new StringBuilder(); @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_ser);
textview = (TextView)findViewById(R.id.textview);
Map<String, Object> maplist;
Bundle bundle = getIntent().getExtras();
SerializableMap serializableMap = (SerializableMap) bundle.get("map");
maplist = serializableMap.getMap();
/*
for (String k : maplist.keySet()) {
Toast.makeText(this, "" + maplist.get(k), Toast.LENGTH_SHORT)
.show();
}
*/
Set set = maplist.entrySet();
Iterator it = set.iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
String key = (String) entry.getKey();
String valu = (String) entry.getValue();
sb.append(key+" "+valu+"\n");
}
textview.setText(sb);
} }
转载请保留链接
http://hongshengpeng.com/article/show/271.aspx
交易所集团:154950206 进群验证:88ios
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Android Intent传递对象摘要的更多相关文章
- Android Intent传递对象小结
效果: 想看实例的,感兴趣的能够看之前的一篇文章 Android ViewPager Fragment实现选项卡 部分关键代码: public class SerializeActivity exte ...
- Android 全局获取 Context 与使用 Intent 传递对象
=====================全局获取 Context======================== Android 开发中很多地方需要用到 Context,比如弹出 Toast.启动活 ...
- Android开发——使用intent传递对象
intent传递对象有两种方法: 方式一:Serializable 方式 方式二:Parcelable方式 在这里不多介绍了,这一篇就是快速上手使用教程,至于详细原理介绍的,请看这一篇http://w ...
- android#使用Intent传递对象
参考自<第一行代码>——郭霖 Intent的用法相信你已经比较熟悉了,我们可以借助它来启动活动.发送广播.启动服务等.在进行上述操作的时候,我们还可以在Intent中添加一些附加数据,以达 ...
- Intent传递对象——Serializable和Parcelable差别
前两篇文章讨论了Serializable和Parcelable实现Intent之间传递对象和对象数组的方式.两种方法实现上相似,效果一致,怎么选择用哪种方法实现呢? Intent在不同的组件中传递对象 ...
- Intent传递对象的几种方式
原创文章.转载请注明 http://blog.csdn.net/leejizhou/article/details/51105060 李济洲的博客 Intent的使用方法相信你已经比較熟悉了,Inte ...
- 怎样使用Intent传递对象
怎样使用Intent传递对象 我们能够使用Intent来启动Activity.开启服务Service,发送广播Broadcast,然后使用Intent传递主要的数据类型,如:布尔值,整型,字符串等 I ...
- 关于intent传递对象后是传递的对象的地址还是对象的拷贝?
var intent = Intent(activity,SingleColorControlActivity::class.java); var bundle = Bundle()// bundle ...
- Android中Intent传递对象的两种方法(Serializable,Parcelable)
今天要给大家讲一下Android中 Intent中如何传递对象,就我目前所知道的有两种方法,一种是Bundle.putSerializable(Key,Object);另一种是 Bundle.putP ...
随机推荐
- 从0開始学习 GitHub 系列之「07.GitHub 常见的几种操作」
之前写了一个 GitHub 系列,反响非常不错,突然发现居然还落下点东西没写,前段时间 GitHub 也改版了,借此机会补充下. 我们都说开源社区最大的魅力是人人多能够參与进去,发挥众人的力量,让一个 ...
- Hadoop常见异常及其解决方案 分类: A1_HADOOP 2014-07-09 15:02 4187人阅读 评论(0) 收藏
1.Shell$ExitCodeException 现象:运行hadoop job时出现如下异常: 14/07/09 14:42:50 INFO mapreduce.Job: Task Id : at ...
- 9个完整android开源app项目
一.photoup 介绍: photoup 是一款开源的相册类app,主要功能是将本地图片提交到facebook上去,虽然他的功能和facebook的远程服务相关,但是本身是可以被当作一款 相册应用的 ...
- [内核编程] Windebug双机调试环境搭建
Windebug双机调试环境搭建 开始进行内核编程/驱动编程的调试工作是非常烦人的,由于程序运行与内核层不受操作系统的管控,所以容易引起主机蓝屏和崩溃是常有的事.这也就使得内核程序的调试成了一大 ...
- js进阶正则表达式14验证邮编(input的pattern属性)(正则表达式加起^始$)
js进阶正则表达式14验证邮编(input的pattern属性)(正则表达式加起^始$) 一.总结 1.input的pattern属性:里面可以直接放正则表达式,<input type=&quo ...
- Android 用MediaRecorder录制视频太短崩的问题
具体表现: 调用MediaRecorder的start()与stop()间隔不能小于1秒(有时候大于1秒也崩),否则必崩. 错误信息: java.lang.RuntimeException: stop ...
- HDU 5072 Coprime (单色三角形+容斥原理)
题目链接:Coprime pid=5072"> 题面: Coprime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- swf loading 自身
stop(); import flash.net.URLRequest; import caurina.transitions.Tweener; loaderInfo.addEventListener ...
- 利用huson的日志获取编译错误信息的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 使用hudson编译一百多个VC工程,输出的日志有6M之大,摆在我面前的一个问题是如何利用这个日志信息来获取编译错误信 ...
- 【u022】车的放置
[问题描述] [题解] 先考虑一个最简单的情况.如一个n*n的棋盘.然后要放k个车. 我们可以先选出k行即C(n,k); 然后在列上对这k个棋子进行一次全排列即A(n,k); 比如k = 4;N=5 ...