В настоящее время мое приложение обрабатывает/обрабатывало http-сообщение и некоторые другие вещи в задаче Async, а затем, когда задача завершается и вызывается onPostExecute, я попытался бы перенаправить на другой фрагмент через транзакцию фрагмента. Это оказалось довольно сложно, и я ищу альтернативы, чтобы справиться с этой ситуацией, не пытаясь зафиксировать транзакции в onPostExecute. Спасибо!
РЕДАКТИРОВАТЬ: вот метод, вызываемый из onPostExecute...
private void callback(boolean submissionSuccessful)
{
if (submissionSuccessful)
{
FragmentManager fragmentManager = getActivity()
.getSupportFragmentManager();
Fragment f = new CompletedFragment();
Bundle args = new Bundle();
args.putString("id", reportToSubmit.getReferenceId());
f.setArguments(args);
fragmentManager.beginTransaction()
.replace(R.id.content_frame, f, "completed").commit();
}
else
{
Toast.makeText(getActivity(), getResources().getString(R.string.report_error),
Toast.LENGTH_LONG).show();
}
}
Причина этого следующая: пользователь завершает работу мастера (ViewPager), отправляет, во время обработки отображается диалоговое окно хода выполнения, а по завершении onPostExecute фиксирует фрагмент подтверждения, который сообщает пользователю, что процесс завершен.