1

这只是一个简单的语义问题,但我在任何地方都找不到答案!我们在对话框中有 BUTTON_POSITIVE、BUTTON_NEGATIVE 和 BUTTON_NEUTRAL,但是正面、负面和中性按钮的具体含义是什么?

如果我有一个“是/否”警报对话框,并且我希望“否”成为默认值,那是哪个?或者,默认按钮的概念可能不适用于 Android。(例如在 PC 上的 Visual C++ 中,默认按钮是按回车键激活的按钮。)

4

2 回答 2

3

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

注意:您只能将每种按钮类型中的一种添加到 AlertDialog。也就是说,您不能拥有多个“肯定”按钮。这将可能的按钮数量限制为三个:正面、中性和负面。这些名称在技术上与按钮的实际功能无关,但应该可以帮助您跟踪哪个按钮做了什么。

您定义哪个按钮具有哪个功能和名称。

例子:

.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 应用程序目标的许多设备都没有键盘。您可以以不同的方式突出显示一个按钮,以引导用户走向它。此外,您可以在 Dialog 中覆盖 onKey 并监听KeyCode_Enter,以便对于具有硬件键盘的设备,您可以正常运行

于 2012-09-28T13:05:40.767 回答