我想在的AsyncTask
之後調用Activity
方法。 你知道我該怎麼做嗎?如何在AsyncTask中調用活動方法
我想撥打onPostExecute
中的sendSMS(String phoneNumber, String message)
方法。
我想在的AsyncTask
之後調用Activity
方法。 你知道我該怎麼做嗎?如何在AsyncTask中調用活動方法
我想撥打onPostExecute
中的sendSMS(String phoneNumber, String message)
方法。
添加一個構造函數和一個全局變量您的AsyncTask是這樣的:
AsyncBigCalculActivity mActivity;
public PostTask(AsyncBigCalculActivity a) {
mActivity = a;
}
然後只需使用mActivity.sendSMS("test", "test")
當你需要它。
但是,你應該在工具類中真的有類似sendSMS()
的方法。
如果您的AsyncTask
是您的Activity
的內部類,那麼您應該能夠從onPostExecute()
中調用Activity
方法。否則,您可以將Context
發送到您AsyncTask
的構造函數,並使用它來調用方法
一種方式是通過PostTask
構造函數傳遞Activity
的一個實例,是這樣的:
private class PostTask extends AsyncTask<String, Integer, String>
{
private AsyncBigCalculActivity activity;
public PostTask(AsyncBigCalculActivity activity)
{
this.activity = activity;
}
// ...
}
和創建PostTask
情況下,通過活動實例:
new PostTask(this).execute();
現在你可以從PostTask
中調用sendSMS()
,像:
activty.sendSMS(...);
另外請注意,如果您正在定義的PostTask
作爲私有類activty裏面,那麼你可以調用sendSMS()
像:
AsyncBigCalculActivity.this.sendSMS(...);