Intent.putExtra(String,Serializable)出错,请大家帮忙看看
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Intent.putExtra(String,Serializable)出错,请大家帮忙看看相关的知识,希望对你有一定的参考价值。
List usersList = (List) message.getContent();Intent intent = new Intent(context, BuddyActivity.class);intent.putExtra("usersLIst", usersList);message是服务器发来的消息,其中的content属性是Object。现在转成List类型,问题是intent.putExtra("usersLIst", usersList);出错!User已经实现Serializable接口了?为什么还会出错?
ArrayList list = new ArrayList();// 这个arraylist是可以直接在bundle里传的,所以我们可以借用一下它的功能 list.add(curGift);// 这个list2才是你真正想要传过去的list。我们把它放在arraylis中,借助它传过去 bundle.putParcelableArrayList(INTENT_GIFT, list); intent.putExtras(bundle); startActivity(intent);一直不用实现Serializable 也可以传递list的方法 参考技术A 前天遇到的问题,一模一样,转成ArrayList即可传,不会报错getStringExtra
Intent 功能太强大了,比较常用的就是Activity (Service)之间的数据传递。举个简单例子,在当前Activity1使用startActvity(intent)或者startActivityForResult(intent, code)方法跳转到另一个Activity2之前,如果要传递某些String类型数据给Activity2,则会执行intent.putExtra(String str, String Key),将String数据打包到Intent中,并给它一个Key标识。在Activity2当中,getIntent()方法获得这个intent,然后再getStringExtra(Key),就可以获得你之前打包的那个数据了。这种机制非常简单,也比较好用。
以上是关于Intent.putExtra(String,Serializable)出错,请大家帮忙看看的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 intent.putextra 设置 videoview 资源
Android:intent.putExtra 在服务类中获取通知