Предположив Я использую следующие 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
).
Итак, вопрос:
Код внутри onPostExecute()
из AsyncTask
будут выполняться после окончания Thread
B?
Если нет, то как можно сделать возможным выполнение onPostExecute только тогда, когда AsyncTask
внутри sendMessage() будет прекращен?
Вы правы, я просто разбирался в методе join(), и он работает для меня. – GVillani82