2013-01-19 19 views

回答

1

添加一個構造函數和一個全局變量您的AsyncTask是這樣的:

AsyncBigCalculActivity mActivity; 

public PostTask(AsyncBigCalculActivity a) { 
    mActivity = a; 
} 

然後只需使用mActivity.sendSMS("test", "test")當你需要它。

但是,你應該在工具類中真的有類似sendSMS()的方法。

1

如果您的AsyncTask是您的Activity的內部類,那麼您應該能夠從onPostExecute()中調用Activity方法。否則,您可以將Context發送到您AsyncTask的構造函數,並使用它來調用方法

4

一種方式是通過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(...);