【问题标题】:getActivity() returns null in AsyncTask when called from another class当从另一个类调用时,getActivity() 在 AsyncTask 中返回 null
【发布时间】:2015-11-27 08:01:53
【问题描述】:

我有一个AsyncTask 来执行任务。我从编写AsyncTask 的同一类和另一个类调用它。

我在代码 sn-p 中有这个语句用于获取用户的当前位置:

GPSTracker gps = new GPSTracker(getActivity());

当从同一个类调用时,getActivity() 有值,但是当从另一个类调用时,getActivity() 返回 null。

我也尝试使用通过构造函数传递上下文:

 Context mContext;
 AsyncDataUpdate(Context context){
             this.mContext = context;
              }
GPSTracker gps = new GPSTracker(mContext);

这也不起作用。 可能是什么原因? 任何帮助将不胜感激。

【问题讨论】:

  • 在哪里调用 GPSTracker gps = new GPSTracker(mContext); ?
  • 在我的AsyncDataUpdate里面
  • 你需要把它放在AsyncDataUpdateonPreExecute()的构造中。为什么你的建筑是私人的?

标签: java android android-asynctask


【解决方案1】:

在调用AsyncDataUpdate类构造函数后使用mContext变量为:

GPSTracker gp;
Context mContext;
private AsyncDataUpdate(Context context){
     this.mContext = context;
     this.gps = new GPSTracker(this.mContext);
}

【讨论】:

  • 你能帮我解决另一个问题吗?
  • @Jas:我肯定会尝试将其作为新问题发布并与我分享链接。谢谢
  • 谢谢。请看这个。 stackoverflow.com/questions/33909257/…
  • 你能帮帮我吗?
猜你喜欢
  • 2018-05-07
  • 2014-02-21
  • 2016-08-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多