Ответ 1
Попробовал ли вы установить для свойства setCancelable()
значение false
Что-то вроде этого
progressDialog.setCancelable(false);
Я использовал функцию onKeyDown в активности..... но когда кнопка назад нажмите на кнопку, она сначала отменяет диалоговое окно и переходит к нашему активность... Я хочу, чтобы оба действия и диалоговое окно закрывались, когда щелкнув кнопку "Назад" или отключив кнопку "Назад", когда диалог поле отображается...
может ли кто-нибудь предложить какие-либо решения для этого....
Спасибо заранее,
Обновление
Привет Спасибо за ваш ответ.
progressDialog
с .setCancelable(false);
работает нормально.
Но здесь я хочу другую вещь. Когда будет запущен диалог выполнения, я нажму кнопку BACK, и я хочу показать диалоговое окно с предупреждением, чтобы пользователь мог сообщить, что прогресс выполняется.
Есть ли какое-нибудь решение?
Пожалуйста, помогите мне.
Спасибо заранее.
Попробовал ли вы установить для свойства setCancelable()
значение false
Что-то вроде этого
progressDialog.setCancelable(false);
Возможно, это поможет в вашем случае:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// Show your Alert Box here
}
return false;
}
Я просто хочу улучшить ответ @MoJo
alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
//Your handler
return false;
}
});
Лично более чистое решение заключалось в том, чтобы закончить LoginActivity перед тем, как начать намерение, вместо того, чтобы устанавливать флаги в пакете нового действия или переопределять любые методы. Попробуйте что-то вроде этого ниже, где Login - это ваш логин, а Home - это первое действие после успешного входа в систему пользователя.
finish();
Intent intent = new Intent(Login.this, Home.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
"Я хочу, чтобы оба действия и диалоговое окно были закрыты"
dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
finish();
return true;
}
});
"или отключите кнопку" Назад ", когда появится диалоговое окно" Это может заблокировать возврат из диалогового окна. Создавая его динамически, добавьте:
dialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
return true;
}
});
Возвращение true предотвращает закрытие этого диалогового окна, и его нельзя закрыть, щелкнув назад. Также я предлагаю добавить:
dialog.setCanceledOnTouchOutside(false);
Что не позволит пользователю отклонить диалог, щелкнув его.