У меня есть две AsyncTasks, которые я использую, одна вызывается после того, как диалог возвращается в FragmentActivity, и после .execute I вызывается код.Другой .execute
вызывается как раз в if...else
.Тот, который вызывается после другого диалога, возвращает, делает то, что должен, он выполняет, при пост-выполнении он возвращает действие назад к предыдущему, и все работает.
Другой onPostExecute
никогда не вызывается.Я сделал точку останова в doInBackground
, который выполняет и возвращает нуль, как и другой, но onPostExecute никогда не происходит, есть ли проблема с наличием слишком большого числа AsyncTasks в одной FragementActivity или слишком большого количества вызовов для выполнения?Я застрял и надеюсь, что это что-то глупое, что я просто не вижу, поэтому я публикую код, но я действительно не могу понять, почему onPostExecute никогда не вызывается в AddEventWorker
, а в AddEventFromDialogWorker
.Как я тестирую приложение, это происходит так, что AddEventFromDialogWorker вызывается, работает, а затем все, что в AddEventWorker не работает (делает doInBackground
, но не onPostExecute
).
Любые идеи илипути для меня, чтобы попробовать?
private class AddEventWorker extends AsyncTask<Void, Void, Void>{
protected void onPostExecute() {
getFragmentManager().popBackStack();
}
@Override
protected Void doInBackground(Void... params) {
mGoogleApi.addEvent(mSession, allGoogleAccounts.get(0).getGoogleCalendarName());
return null;
}
}
private class AddEventFromDialogWorker extends AsyncTask<String, Void, Void>{
protected void onPostExecute() {
Toast.makeText(mContext, "Event added to google calendar!", Toast.LENGTH_SHORT);
getFragmentManager().popBackStack();
}
@Override
protected Void doInBackground(String... params) {
mGoogleApi.addEvent(mSession, params[0]);
return null;
}
}