zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    POJ3171 线段树优化dp
    Codeforces Round #590 (Div. 3)
    POJ2777 线段树区间染色问题
    POJ2182 Lost Cows 树状数组,二分
    P1908 逆序对 树状数组
    2019 Multi-University Training Contest 3
    主席树板子题区间第k小
    权值线段树板子题
    KMP板子题
    稀疏贝叶斯
  • 原文地址:https://www.cnblogs.com/zhangjiuding/p/7524222.html
Copyright © 2011-2022 走看看