如何参考c#Xamarin Studio中的弹出菜单项?

时间:2014-07-16 09:11:13

标签: c# android xamarin menuitem popupmenu

我很抱歉这可能是一个非常愚蠢的问题,但我已经挣扎了好几个小时了,我无法得到它。我是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;

0 个答案:

没有答案