java - 将变量从 Activity 传递到 AsyncTask

标签 java android android-asynctask location

我有一个带有抽屉导航和一些 fragment 的应用程序。

在我的 MainActivity 中,我获取了设备的实际经纬度位置。

在抽屉中的第一个 fragment 中,我从 Web 服务器上的数据库中加载一些内容到 AsyncTask 中

对于此请求,我需要 MainActivity 中的纬度和经度变量。

但是我如何从 AsyncTask 中的 MainActivity 调用 getLag() 方法或获取我的 2 个变量?

我需要在 doInBackround() 中调用的 Methode updateJSONdata 中的变量

public class LoadEvents extends AsyncTask<Void, Void, Boolean>{

        Activity activity;
        ListFragment LF;
        String TAG;

        public LoadEvents(Activity A, ListFragment lf, String TAG) {

            this.TAG = TAG;
            this.LF = lf;
            this.activity = A;
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();


            MySwipeRefreshLayout srl = (MySwipeRefreshLayout) LF.getView().findViewById(R.id.srl);

            if(srl!=null){
                srl.setRefreshing(true);
            }

        }

        @Override
        protected Boolean doInBackground(Void... arg0) {

            updateJSONdata(TAG, activity);




            return null;

        }

最佳答案

fragment onAttach()

MainActivity mainActivity;

@Override
public void onAttach(Activity activity) {
    super.onAttach(activity);
    mainActivity = (MainActivity) activity;             
}

在 fragment 中调用这样的 Activity 方法

if (mainActivity != null)
    latLng = mainActivity.getLatLng(); //getLatLng() is a method defined in MainActivity

关于java - 将变量从 Activity 传递到 AsyncTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30066441/

相关文章:

java - Java 中 int[] 原始数组排序的优化且高效的方法

java - Android应用程序中确定onCreate() VS onRestartingFromBackGround()

java - 玛根托 : get customer_id from salesOrderList

android - 我可以将不同类型的参数传递给 Android 中的 AsyncTask 吗?

android - 具有 Intent 服务的 AsyncTask(带 AlarmManager)

java - Android JSON 解析导致应用程序 AsyncTask 崩溃

java - ElasticSearch - 模糊搜索java api结果不正确

java - 满足以下要求的 Cron 语句

java - JUnit 测试 - 如何检查 Scanner 的各种输入不匹配

android - phonegap/cordova 闪屏纵横比问题