我讨厌OK/Cancel对话框,因为如果我的应用程序问某人是否真的想做某件事,你永远不应该回答“Cancel”。
举个小例子:
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();
有没有可能常量“yes”和“no”真的意味着本地化的“yes”和“no”?或者我在字符串资源中显式地这样做了,不能使用全局常量。所以我用以下代码替换这两行:
b.setPositiveButton("Yes", null);
b.setNegativeButton("No", null);
(or这里的资源而不是常量)
真诚的xZise
3条答案
按热度按时间hmae6n7t1#
警告:
android.R.string
中的yes
已被弃用。Maybe已弃用,因为这些英语文本资源的内容实际上是“OK”和“Cancel”,而不是“Yes”和“No”,这会让人感到困惑。**因此,如果您需要“Yes”和“No”,则必须使用自己的字符串资源。例如,请参阅http://code.google.com/p/android/issues/detail?id=3713和http://groups.google.com/group/android-developers/browse_thread/thread/30b589fa9aca185a
enyaitl32#
快速的谷歌搜索显示,有几个应用程序可以做到这一点,包括谷歌自己的My Tracks应用程序,所以我想说使用android.R.string.yes是安全的。
示例:http://mytracks.googlecode.com/hg/MyTracks/src/com/google/android/apps/mytracks/io/backup/ExternalFileBackup.java?r=5ebff81c1c25d9600efb5d88eecc3e068ec22ae9
knpiaxh13#
你所提供的应该起作用。(顺便说一句,用正确的英语,你的问题应该说“你做了你的家庭作业吗?或者你做了你的家庭作业吗?”)
我不认为有任何关于ok/cancel和yes/no的全球英语标准。这真的取决于语境。在某些语境中,一个或另一个会更有意义。我认为如果你问的事情更有意义,使用yes/no是完全可以的。