我一直在研究一個應用程序,並且設法使AsyncTask
在內部類中正常工作。外部類中的Android AsyncTask
現在,我正在重構代碼,以便AsyncTask
處於獨立的類中,但我想知道,如何在成功完成任務後終止ProgressDialog
並啓動新的活動?我試過在onPostExecute(..)
方法中開始一個新的活動,但我知道這是行不通的。
通過我的UI線程活動中的構造函數的AsyncTask的說法似乎並沒有工作:
//In UI Thread I had
public class Test101 extends Activity {
private Button btnLogin;
private LoginTask mLoginTask;
private Context context=this;
private Test101 mTest101;
mLoginTask=new LoginTask(context,mTest101);
mLoginTask.execute(null);
// In the AsyncTask I had
Activity mParentActivity;
public LoginTask(Context context,Activity act){
this.ctx=context;
this.mParentActivity=act;
}
onPostExecute(..){
mParentActivity.callSomeMethod();
}
...
}
我一直得到一個NullPointerException
,也許我失去了一些東西,但是這沒」爲我工作。
取得了良好的量的進步,這是我到目前爲止,在onPostExecute(字符串結果)方法我駁回progressDialog,現在我想傳遞的AsyncTask的結果返回給活動中UI線程。還沒有弄清楚那個部分: @Override protected void onPostExecute(String result){ pDialog.dismiss(); //將AsyncTask的結果傳遞給UI線程中的Activity? } – jwesonga 2010-03-04 17:36:33