1

これは単純なセマンティクスの問題ですが、どこにも答えが見つかりません! ダイアログには BUTTON_POSITIVE、BUTTON_NEGATIVE、BUTTON_NEUTRAL がありますが、ポジティブ ボタン、ネガティブ ボタン、ニュートラル ボタンの正確な意味は何ですか?

はい/いいえの警告ダイアログがあり、いいえをデフォルトにしたい場合、どれがどれですか? または、デフォルト ボタンの概念が Android に適用されない場合もあります。(たとえば PC 上の Visual C++ では、既定のボタンは、Return キーを押したときにアクティブになるボタンです。)

4

2 に答える 2

3

http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog

注:AlertDialogに追加できるボタンタイプは1つだけです。つまり、複数の「ポジティブ」ボタンを持つことはできません。これにより、可能なボタンの数がポジティブ、ニュートラル、ネガティブの3つに制限されます。これらの名前は、ボタンの実際の機能とは技術的には無関係ですが、どのボタンが何を実行するかを追跡するのに役立ちます。

どのボタンにどの機能と名前があるかを定義します。

例:

.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
                MyActivity.this.finish();
           }
       })

本当に必要な場合は、ポジティブボタンを「いいえ」に設定できます。リンクは、より詳細なコード例を示しています。

于 2012-09-28T13:05:10.747 に答える
2

UIガイドのボタンの追加を見ると、それは述べています

「これらの名前は、ボタンの実際の機能と技術的には無関係ですが、どのボタンが何をするかを追跡するのに役立ちます。」

したがって、ボタンに対するアクションをキャンセルする onCLickListener を作成し、それをポジティブ ボタンとして設定することができます。コードを読んでいる人を混乱させるだけです。


また、そうです、Android アプリがターゲットとするデバイスの多くにはキーボードがないため、デフォルト ボタンの概念はありません。ユーザーをそのボタンに誘導するために、1 つのボタンを別の方法で強調表示することができます。また、Dialog で onKey をオーバーライドし、KeyCode_Enter をリッスンて、ハードウェア キーボードを備えたデバイスで適切に動作できるようにすることもできます。

于 2012-09-28T13:05:40.767 に答える