显示是/否 - 对话而不是确定/取消

时间:2010-10-12 22:21:25

标签: android

我讨厌确定/取消对话框,因为如果我的应用程序询问某人是否真的想要做某事你就不应该回答“取消”。

一个小例子:

final AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setIcon(android.R.drawable.ic_dialog_alert);
b.setTitle("Hello World");
b.setMessage("Did you do your homework?");
b.setPositiveButton(android.R.string.yes, null);
b.setNegativeButton(android.R.string.no, null);
b.show();

常量“是”和“否”是否可能真的意味着“是”和“否”具有本地化?或者我在我的字符串资源中明确地这样做,并且不能使用全局常量。所以我用以下代码替换这两行:

b.setPositiveButton("Yes", null);
b.setNegativeButton("No", null);

(或者资源而不是常量)

此致 xZise

3 个答案:

答案 0 :(得分:24)

请注意,这些英文文本资源的内容实际上是“确定”和“取消”,不是和否。因此,如果您需要是和否,您必须使用自己的字符串资源。例如,请参阅http://code.google.com/p/android/issues/detail?id=3713http://groups.google.com/group/android-developers/browse_thread/thread/30b589fa9aca185a

答案 1 :(得分:4)

快速谷歌搜索显示有几个应用程序正是这样做的,包括谷歌自己的My Tracks应用程序,所以我说使用android.R.string.yes是安全的。

示例:http://mytracks.googlecode.com/hg/MyTracks/src/com/google/android/apps/mytracks/io/backup/ExternalFileBackup.java?r=5ebff81c1c25d9600efb5d88eecc3e068ec22ae9

答案 2 :(得分:3)

您提供的内容应该有效。 (另外,用适当的英语,你的问题应该说“你做完作业了吗?或者你做过功课了吗?”

我认为没有关于ok / cancel和yes / no的全球英语标准。这取决于具体情况。在某些情况下,其中一个或另一个会更有意义。我认为使用yes / no是完全可以的,如果这对你要问的事情更有意义。