假如我用以下AsycTask
(稱爲一個)用於通過互聯網發送數據:的AsyncTask嵌套調用
private class A extends AsyncTask<Void, Void, Void>{
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
pd = ProgressDialog.show(context, "Notification", "Sending message...");
}
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
sendMessage();
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if(pd!=null && pd.isShowing())
pd.dismiss();
}
}
的doInbackground
內部被稱爲我的方法的sendMessage()。我不會詳細介紹這種方法,只是想象一下這種方法執行Thread
(假定它被稱爲B
)。
所以,問題是:
的AsyncTask
甲的onPostExecute()
中的代碼的Thread
乙結束後,將執行?
如果不是,那麼只有在sendMessage()中的AsyncTask
將被終止時,如何才能使onPostExecute被執行?
你是對的,我只是sperimienting加入()方法,它適用於我。 – GVillani82