この質問がここで何度も聞かれていることは知っていますが、私の問題に対する適切な答えが見つかりませんでした.
このコードは、戻るボタンを無効にすることができます:
@Override
public void onBackPressed() {
// Do Here what ever you want do on back press;
}
しかし、アクティビティ全体ではなく、一時的に戻るボタンを無効にできる方法はありますか?
この質問がここで何度も聞かれていることは知っていますが、私の問題に対する適切な答えが見つかりませんでした.
このコードは、戻るボタンを無効にすることができます:
@Override
public void onBackPressed() {
// Do Here what ever you want do on back press;
}
しかし、アクティビティ全体ではなく、一時的に戻るボタンを無効にできる方法はありますか?
戻るボタンを無効にするのに最適なソリューションです
@Override
public void onBackPressed() {
if(condition to check){
// this block disable back button
}else{
// this block enable back button
super.onBackPressed();
}
}
Dixitによる素敵な答え。ちょうど別のオプション
public boolean onKeyDown(int keyCode, KeyEvent event) {
boolean result = false;
if (keyCode == KEYCODE_BACK) {
if (condition) {
result = true;
}
}
return result;
}
注意..
古いバージョンでも動作します
onKeyDown から true を返すと、デフォルトの動作が消費されます
boolean flag
戻るボタンを無効にする必要がある場所に設定する必要がありますflag value true
。
onBackPressed()では、 @Dixit の言うように条件を設定する必要があります
@Override
public void onBackPressed() {
if(condition to check){
// this block disable back button
}else{
// this block enable back button
super.onBackPressed();
}
}