How to call Activity method in an AsyncTask

前端 未结 4 793
离开以前
离开以前 2020-12-20 05:24

I would like to call an Activity method after the onPostExecute of my AsyncTask. Do you know how I can do that?

I want to call

4条回答
  •  离开以前
    2020-12-20 05:49

    One way is to pass an instance of the Activity through PostTask constructor, something like:

    private class PostTask extends AsyncTask
    {
        private AsyncBigCalculActivity activity;
    
        public PostTask(AsyncBigCalculActivity activity)
        {
            this.activity = activity;
        }
    
        // ...
    }
    

    and on creating the PostTask instance, pass the activity instance:

    new PostTask(this).execute();
    

    Now you can invoke sendSMS() from within PostTask, like:

    activty.sendSMS(...);
    

    Also note that if you are defining the PostTask as a private class inside the activty, then you can invoke sendSMS() like:

    AsyncBigCalculActivity.this.sendSMS(...);
    

提交回复
热议问题