java - 从另一个类调用时,AsyncTask 中的 getActivity() 返回 null

标签 java android android-asynctask

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

我在代码 fragment 中有这样的语句用于获取用户的当前位置:

GPSTracker gps = new GPSTracker(getActivity());

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

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

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

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

最佳答案

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

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

关于java - 从另一个类调用时,AsyncTask 中的 getActivity() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33952747/

相关文章:

java - Google App Engine 将传出请求重定向到 Compute Engine 代理

java - apache commons LinearObjectiveFunction 算法

android - 如何使用 gradle 4.6 版本配置我的 Android 应用程序

android - 取消所有 AsyncTask?

java - 从 AsyncTask 中设置新位图的引用

java - JNA 指针传递

java - 我可以在没有 - 标志的情况下使用 Commons CLI 命令行吗?

android - android gradle可以自动解析模块库的依赖关系吗?

android - 在 LinearLayout 中对齐 ImageButton 时出现问题?

android - 从 AsyncTask 举杯