戻るボタンでダイアログボックスを閉じないようにする
2023-08-25 09:09:32
質問
Android で戻るボタンを押したときに AlertDialog ボックスが閉じないようにしようとしています。私は両方の一般的なメソッドに従いました このスレッドにある と、System.out.printlnで、両方のケースでコードが実行されることを確認することができます。しかし、戻るボタン はまだ はダイアログボックスを閉じます。
何か間違ったことをしているのでしょうか。それはアプリを最初に実行したときに表示される免責事項で、アプリを続行するためにユーザーが "Accept" ボタンを押す以外に選択肢がないようにしたいのです。
どのように解決するのですか?
単純に
setCancelable()
機能を使用します。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(false);
これは、戻るボタンがダイアログを閉じるのを防ぎますが、"negative" ボタンを使うことを選択した場合にはそのまま残します。
利用規約に同意したくないユーザーはホーム ボタンを押すことができますが、Squonk のコメントを考慮し、ユーザーが利用規約を取り消すことを防ぐための方法を 2 つ紹介します。1 つは単純な "拒否" ボタンで、もう 1 つはダイアログの戻るボタンを上書きするものです。
builder.setNegativeButton("Refuse", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP)
finish();
return false;
}
});
関連
-
[解決済み] AndroidにおけるViewPager2の適切な実装
-
[解決済み] HttpPostによる画像送信
-
[解決済み] 「KotlinとAndroidで「パラメータTを推測するのに十分な情報がありません。
-
[解決済み] EclipseのAndroidプロジェクトにライブラリ/JARを追加する
-
[解決済み] XMLで矩形を描画できますか?
-
[解決済み] Android Studioの「未実装メソッドの追加」機能
-
[解決済み] 複数のフィルタを持つBroadcastReceiverか、複数のBroadcastReceiverか?
-
[解決済み] Android - Snackbar vs Toast - 使い方と違い。
-
[解決済み] edittextのテキストがメールアドレスかどうかを確認するには?
-
[解決済み] Android APKファイルの中身を見るには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] BottomSheetDialogFragmentの状態をexpandedに設定する。
-
[解決済み] ViewPagerのアイテムを強制的に再インスタンス化する方法 [重複].
-
[解決済み] アプリ内課金テスト:android.test.purchased already owned
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] XMLで矩形を描画できますか?
-
[解決済み] DialogFragmentを正しく終了させるには?
-
[解決済み] Android Studioの「未実装メソッドの追加」機能
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] ViewPager2でスワイプを無効にするには?