Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
774 views
in Technique[技术] by (71.8m points)

how to pass the result of asynctask onpostexecute method into the parent activity android

I am developing an application in which i need to send the value of the asynctask's onPostExecute method's result in to the previous activity , ie the activity in which the aync task is being called.pls put some codes. Anyhelp is appreciated

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Two ways:

  1. Declare class extending AsyncTask as private class in parent Activity
  2. Pass Handler or Activity itself as param of class extending AsyncTask

If I were you, I'd follow the first option.
Look at 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();
        }

    }

}

Note 1

Code placed in body of function onPostExecute is already run on Activity thread, you should just mention that this keywords leads to MyTask.this and not MyActivitySubclass.this


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...