如何在 AsyncTask 中调用 Activity 方法 [英] How to call Activity method in an AsyncTask
问题描述
我想在我的 AsyncTask
的 onPostExecute
之后调用一个 Activity
方法.你知道我该怎么做吗?
I would like to call an Activity
method after the onPostExecute
of my AsyncTask
.
Do you know how I can do that?
我想在onPostExecute
中调用sendSMS(String phoneNumber, String message)
方法.
推荐答案
一种方法是通过 PostTask
构造函数传递一个 Activity
的实例,例如:>
One way is to pass an instance of the Activity
through PostTask
constructor, something like:
private class PostTask extends AsyncTask<String, Integer, String>
{
private AsyncBigCalculActivity activity;
public PostTask(AsyncBigCalculActivity activity)
{
this.activity = activity;
}
// ...
}
并在创建 PostTask
实例时,传递活动实例:
and on creating the PostTask
instance, pass the activity instance:
new PostTask(this).execute();
现在您可以从 PostTask
中调用 sendSMS()
,例如:
Now you can invoke sendSMS()
from within PostTask
, like:
activty.sendSMS(...);
<小时>
另请注意,如果您将 PostTask
定义为活动内的私有类,那么您可以像这样调用 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(...);
这篇关于如何在 AsyncTask 中调用 Activity 方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!