Android在 普通类(非Activity,多数为Adapter) 中 传输数据为空值解决方法 (在startActivity 用 intent传输数据)
莫问天涯路几重,轻衫侧帽且从容。这篇文章主要讲述Android在 普通类(非Activity,多数为Adapter) 中 传输数据为空值解决方法 :在startActivity 用 intent传输数据相关的知识,希望能为你提供帮助。
这是bundle是传输不了数据的,获取到
出现这种情况的原因是非activity类中不存在Context,而在活动中传输数据时需要Context。
我收集到了两种解决方法。
1.
在调用该Adapter的Activity中声明一个Activity(或者Context)。
public static
Activity mActivity;
然后再onCreate函数中给mActivity赋值。
【Android在 普通类(非Activity,多数为Adapter) 中 传输数据为空值解决方法 (在startActivity 用 intent传输数据)】
mActivity = this;
然后在Adapter中调用这个静态的mActivity就可以启动活动了。
Activity.mActivity.startActivity(intent);
这样启动的活动是可以获取到数据的。
2.
直接获取一个Context启动活动。
getContext().startActivity(intent);
这样也是可以获取到数据的,本人认为这种方法可能会出问题,但是水平有限,不知道会出什么问题。
这样我们就可以愉快的在非Activity中传输数据了。
被CSDN转了几个贴,阅读量是我原帖的好几倍,加个防盗链接:zhangjiuding
推荐阅读
- android, 模拟器
- 本文教你如何调节电脑屏幕亮度
- 本文教你电脑无线网络连接不上
- 本文教你电脑u盘重装win10系统
- 电脑软件小白一键重装推荐安装办法图解
- 安装系统 本文教你一键重装系统win7
- 安装系统 戴尔笔记本一键重装系统图解图文详细教程
- 如何重装64位系统呢?
- 小白教你电脑休眠与睡眠的区别