我知道在 ICS 之前,AlertDialog 中的标准订单是“Ok”/“Cancel”,并且在 ICS 中发生了变化(标准订单变成了“Cancel”/“Ok”)
但是,即使我使用
alert.setButton(AlertDialog.BUTTON_POSITIVE, "Ok", ...)
alert.setButton(AlertDialog.BUTTON_NEGATIVE, "Cancel", ...)
我在 pre-ICS 和 ICS 中运行应用程序得到了相同的结果:正面选项出现在左侧,负面选项出现在右侧。
这不应该是自动的吗,因为我们使用系统常量来定义正面 (AlertDialog.BUTTON_POSITIVE) 和负面 (AlertDialog.BUTTON_NEGATIVE) 的位置?
编辑: 接受解决方案后,我想指出我现在正在使用以下代码在 ICS 和 pre-ICS 中以正确的顺序设置按钮:
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH) { // pre-ICS, show Positive/Negative
alertDialog.setButton(labelPositive, positiveListener);
alertDialog.setButton2(labelNegative, negativeListener);
} else { // ICS+, show Negative/Positive
alertDialog.setButton(labelNegative, negativeListener);
alertDialog.setButton2(labelPositive, positiveListener);
}