如何将asynctask onpostexecute方法的结果传递给父活动android

vin*_*ine 4 android android-asynctask

我正在开发一个应用程序,其中我需要将asynctask的onPostExecute方法的结果的值发送到上一个活动,即调用aync任务的活动.pls放置一些代码.Anyhelp表示赞赏

Mar*_*era 8

两种方式:

  1. 声明类将AsyncTask扩展为父Activity中的私有类
  2. 将Handler或Activity本身作为扩展AsyncTask的类的参数传递

如果我是你,我会遵循第一个选择.
看看DOCS:

class MyActivitySubclass extends Activity {

    function runOnPostExecute(){
        // whatever
    }

    private class MyTask extends AsyncTask<Void, Void, Void> { 

        void doInBackground(Void... params){
            // do your background stuff
        }

        void onPostExecute(Void... result){
            runOnPostExecute();
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

注1

放在函数体中的代码onPostExecute已经在Activity线程上运行,你应该只提到this关键字导致MyTask.this而不是MyActivitySubclass.this