我很抱歉这可能是一个非常愚蠢的问题,但我已经挣扎了好几个小时了,我无法得到它。我是C#的初学者,我正在使用Xamarin Studio。我在我的应用程序中添加了一个弹出菜单,但我不知道如何引用菜单中的项目(按钮)来处理onClick事件。这是我的popup_menu代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item1"
android:title="Animals Delivery"
android:onClick="AnimalsDel" />
<item android:id="@+id/item2"
android:title="Food Delivery"
android:onClick="FoodDel" />
</menu>
Activity类中菜单的代码是:
inputType.Click += (s, arg) => {
PopupMenu menu = new PopupMenu (this, inputType);
menu.Inflate (Resource.Menu.popup_menu);
menu.MenuItemClick += (s1, arg1) => {
Console.WriteLine ("{0} selected", arg1.Item.TitleFormatted);
};
menu.DismissEvent += (s2, arg2) => {
Console.WriteLine ("menu dismissed");
};
menu.Show ();
};
我的问题是当我实现onClick方法时。我知道我应该将MenuItem项目作为参数,但在Xamarin中没有这样的常量..所以这就是我现在所拥有的:
public void AnimalsDel (IMenuItem item1)
{
inputType.Text = "Animals Delivery";
}
public void FoodDel (IMenuItem item2)
{
inputType.Text = "Food Delivery";
}
我的应用程序中有一个EditText,我想在单击弹出菜单中的两个项目之一时更改文本。但实现这样的应用程序抛出了以下异常:&#34;无法解决菜单项onClick处理程序AnimalsDel在类deliverynote.AddActivity&#34;