错误是/否使用Android资源字符串的文本

时间:2013-03-03 02:11:05

标签: android xamarin.android

我正在Mono for Android中构建一个对话框,如下所示:

AlertDialog.Builder builder = new AlertDialog.Builder(Context);
builder.SetTitle(Context.GetString(Resource.String.MyTitle));
builder.SetMessage(Context.GetString(Resource.String.MyQuestion);
//YES, not OK
builder.SetPositiveButton(Android.Resource.String.Yes, new EventHandler<DialogClickEventArgs>((dlgSender, dlgEvt) => { doSomething();});
builder.SetNegativeButton(Context.GetString(Android.Resource.String.No), new EventHandler<DialogClickEventArgs>((dlgSender, dlgEvt) => {    doSomethingElse();}));
builder.SetNeutralButton(Context.GetString(Android.Resource.String.Cancel), 
                                         new EventHandler<DialogClickEventArgs>((dlgSender, dlgEvt) => {}));

Dialog dialog = builder.Create();
dialog.Show();

这提出了我的问题,有三个按钮:“取消,取消,确定”,而我希望得到“不,取消,是”。上面的代码有什么问题,或者Mono for Android有什么问题吗?

1 个答案:

答案 0 :(得分:8)

android.R.string.yesandroid.R.string.no(在Monodroid中用作Android.Resource.String.*)只是资源名称,等同于“确定”和“取消”。你必须自己制作字符串资源。

来自Android的strings.xml(Android 4.2):

<!-- Preference framework strings. -->
<string name="ok">OK</string>
<!-- Preference framework strings. -->
<string name="cancel">Cancel</string>
<!-- Preference framework strings. -->
<string name="yes">OK</string>
<!-- Preference framework strings. -->
<string name="no">Cancel</string>