Android在 普通类(非Activity,多数为Adapter) 中 传输数据为空值 解决方法 :在startActivity 用 intent传输数据...

这是bundle是传输不了数据的,获取到

出现这种情况的原因是非activity类中不存在Context,而在活动中传输数据时需要Context。

 

我收集到了两种解决方法。

1.

  在调用该Adapter的Activity中声明一个Activity(或者Context)。

   public static Activity mActivity; 

  然后再onCreate函数中给mActivity赋值。

   mActivity = this; 

  然后在Adapter中调用这个静态的mActivity就可以启动活动了。

   Activity.mActivity.startActivity(intent); 

  这样启动的活动是可以获取到数据的。

 

2.

  直接获取一个Context启动活动。

   getContext().startActivity(intent); 

  这样也是可以获取到数据的,本人认为这种方法可能会出问题,但是水平有限,不知道会出什么问题。

 

 

这样我们就可以愉快的在非Activity中传输数据了。

 

被CSDN转了几个贴,阅读量是我原帖的好几倍,加个防盗链接:zhangjiuding

转载于:https://www.cnblogs.com/zhangjiuding/p/7524222.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值