Задать вопрос

AsyncTask и поворот экрана без android:configChanges, как реализовать?

На главной Activity есть 2 поля - логин и пароль, и кнопка. При нажатии на кнопку запускается AsyncTask который проводит авторизацию показывая прогресс диалог пользователю:
public AuthTask(Activity act) {
        super();
        this.activity = act;
    }

    @Override
    protected void onPreExecute() {
        dialog = new ProgressDialog(activity);
        dialog.setMessage("Авторизация...");
        dialog.setIndeterminate(true);
        dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
            @Override
            public void onCancel(DialogInterface dialogInterface) {
                cancel(true);
            }
        });
        dialog.setCancelable(true);
        dialog.show();
    }

    @Override
    protected void onPostExecute(User user) {
        dialog.dismiss();
    }


Проблема в том что при повороте экрана activity создается заново и прогресс диалога уже не видно. Помогите пожалуйста, как побороть эту проблему без использования android:configChanges?
  • Вопрос задан
  • 3877 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@aobiedkov Автор вопроса
java
Нашел решение habrahabr.ru/post/114570
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
anyd3v
@anyd3v
В примерах к sdk есть пример прям в точь-точь как у вас.
Ответ написан
@vitvov
Простым решением может быть блокировка поворота экрана перед запуском AuthTask и разблокировка после.
Ответ написан
@mansurv
Не знаю, подойдёт ли для вашей задачи: www.androiddesignpatterns.com/2013/04/retaining-ob... В двух словах - асинк-таски переносятся в headless фрагмент и оттуда коллбеками
апдейтят методы onPostExecute(), onPreExecute() и т.д., реализованные в MainActivity.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы