I hate the OK/Cancel dialogs, because if my application ask somebody if (s)he really want to do something you should never answer with “Cancel”.
A little example:
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();
Is it possible that the constants “yes” and “no” really means “yes” and “no” with localization? Or have I do this explicit in my string resource and can’t use global constants. So I replace the two lines with:
b.setPositiveButton("Yes", null);
b.setNegativeButton("No", null);
(or the resources instead of constants here)
Sincerely
xZise
A quick google search reveals that there are several apps that do exactly that, including Google’s own My Tracks app, so I’d say it’s safe to use android.R.string.yes.
Example: http://mytracks.googlecode.com/hg/MyTracks/src/com/google/android/apps/mytracks/io/backup/ExternalFileBackup.java?r=5ebff81c1c25d9600efb5d88eecc3e068ec22ae9