Xamarin.android 如何在Monodroid中使用ContextMenu

Xamarin.android 如何在Monodroid中使用ContextMenu,xamarin.android,Xamarin.android,我试图从标题栏中的按钮实现ContextMenu,但它没有出现 工作。我注册了按钮,但当我点击它时,什么都没有 正在发生。有什么想法吗?我用的是单机器人1.2。谢谢 public class MainActivity : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.mai

我试图从标题栏中的按钮实现ContextMenu,但它没有出现 工作。我注册了按钮,但当我点击它时,什么都没有 正在发生。有什么想法吗?我用的是单机器人1.2。谢谢

public class MainActivity : Activity
{
   protected override void OnCreate(Bundle bundle)
   {
       base.OnCreate(bundle);

       SetContentView(Resource.Layout.main);

       Button btnMenu =
       (Button)FindViewById(Resource.Id.btn_menu_options);
       RegisterForContextMenu(btnMenu);
   }

   public override void OnCreateContextMenu(IContextMenu menu, View v,
     IContextMenuContextMenuInfo menuInfo)
   {
       base.OnCreateContextMenu(menu, v, menuInfo);

       menu.SetHeaderTitle(Resource.String.menu_title);
       menu.Add(Resource.String.menu_option1);
   }
}
“标题栏上的按钮”是什么意思?我刚刚创建了演示项目,所有的工作都很好。下面是一个代码:

[Activity(Label = "MonoAndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        SetContentView(Resource.Layout.Main);
        var button = FindViewById<Button>(Resource.Id.MyButton);
        RegisterForContextMenu(button);
    }

    public override void OnCreateContextMenu(IContextMenu menu, View v, IContextMenuContextMenuInfo menuInfo)
    {
        base.OnCreateContextMenu(menu, v, menuInfo);
        menu.SetHeaderTitle(Resource.String.MenuTitle);
        menu.Add(Resource.String.Action1);
        menu.Add(Resource.String.Action2);
    }

    public override bool OnContextItemSelected(IMenuItem item)
    {
        Toast.MakeText(this, item.TitleFormatted, ToastLength.Short).Show();
        return true;
    }
}
[活动(Label=“MonoAndroidApplication1”,MainLauncher=true,Icon=“@drawable/Icon”)]
公共课堂活动1:活动
{
创建时受保护的覆盖无效(捆绑包)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
var button=findviewbyd(Resource.Id.MyButton);
RegisterForContextMenu(按钮);
}
创建上下文菜单上的公共覆盖无效(IContextMenu菜单,视图v,IContextMenuContextMenuInfo menuInfo)
{
base.OnCreateContextMenu(menu,v,menuInfo);
menu.SetHeaderTitle(Resource.String.menutile);
添加(Resource.String.Action1);
添加(Resource.String.Action2);
}
公共覆盖布尔OnContextItemSelected(IMenuItem)
{
Toast.MakeText(this,item.TitleFormatted,ToastLength.Short).Show();
返回true;
}
}
标题栏中的按钮是什么意思?我刚刚创建了演示项目,所有的工作都很好。下面是一个代码:

[Activity(Label = "MonoAndroidApplication1", MainLauncher = true, Icon = "@drawable/icon")]
public class Activity1 : Activity
{
    protected override void OnCreate(Bundle bundle)
    {
        base.OnCreate(bundle);
        SetContentView(Resource.Layout.Main);
        var button = FindViewById<Button>(Resource.Id.MyButton);
        RegisterForContextMenu(button);
    }

    public override void OnCreateContextMenu(IContextMenu menu, View v, IContextMenuContextMenuInfo menuInfo)
    {
        base.OnCreateContextMenu(menu, v, menuInfo);
        menu.SetHeaderTitle(Resource.String.MenuTitle);
        menu.Add(Resource.String.Action1);
        menu.Add(Resource.String.Action2);
    }

    public override bool OnContextItemSelected(IMenuItem item)
    {
        Toast.MakeText(this, item.TitleFormatted, ToastLength.Short).Show();
        return true;
    }
}
[活动(Label=“MonoAndroidApplication1”,MainLauncher=true,Icon=“@drawable/Icon”)]
公共课堂活动1:活动
{
创建时受保护的覆盖无效(捆绑包)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
var button=findviewbyd(Resource.Id.MyButton);
RegisterForContextMenu(按钮);
}
创建上下文菜单上的公共覆盖无效(IContextMenu菜单,视图v,IContextMenuContextMenuInfo menuInfo)
{
base.OnCreateContextMenu(menu,v,menuInfo);
menu.SetHeaderTitle(Resource.String.menutile);
添加(Resource.String.Action1);
添加(Resource.String.Action2);
}
公共覆盖布尔OnContextItemSelected(IMenuItem)
{
Toast.MakeText(this,item.TitleFormatted,ToastLength.Short).Show();
返回true;
}
}

我相信上下文菜单是一个长按。正常情况下只按一下按钮不会激活它。您需要长时间按。

我相信上下文菜单是长时间按的。正常情况下只按一下按钮不会激活它。你需要做一个长新闻