这只是一个简单的语义问题,但我在任何地方都找不到答案!我们在对话框中有 BUTTON_POSITIVE、BUTTON_NEGATIVE 和 BUTTON_NEUTRAL,但是正面、负面和中性按钮的具体含义是什么?
如果我有一个“是/否”警报对话框,并且我希望“否”成为默认值,那是哪个?或者,默认按钮的概念可能不适用于 Android。(例如在 PC 上的 Visual C++ 中,默认按钮是按回车键激活的按钮。)
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();
}
})
如果您真的愿意,可以将肯定按钮设置为“否”。该链接显示了更详细的代码示例。
如果您在 UI 指南中查看添加按钮,它会说明
“这些名称在技术上与按钮的实际功能无关,但应该可以帮助您跟踪哪个按钮做了什么。”
因此,您可以创建一个 onCLickListener 来取消您对按钮的操作并将其设置为积极按钮 - 它只会让阅读代码的人感到困惑。
此外,是的,没有默认按钮的概念,因为 Android 应用程序目标的许多设备都没有键盘。您可以以不同的方式突出显示一个按钮,以引导用户走向它。此外,您可以在 Dialog 中覆盖 onKey 并监听KeyCode_Enter,以便对于具有硬件键盘的设备,您可以正常运行