如何在WebViewRenderer中处理上下文菜单?

时间:2015-06-16 21:25:22

标签: android xamarin xamarin.android xamarin.forms

我知道我可以通过这种方式将上下文菜单项添加到Xamarin.Forms自定义渲染器中:

public class MyRenderer: WebViewRenderer
{
    protected override void OnCreateContextMenu (Android.Views.IContextMenu menu)
    {
        base.OnCreateContextMenu (menu);
        menu.Add (Resource.String.teststring);

    }
}

现在,我在哪里指定选择我添加的项目的操作?

1 个答案:

答案 0 :(得分:2)

解决方案是在已添加的项目上使用SetOnMenuItemClickListener。您可以将处理程序设置为渲染器并实现处理方法:

public class MyRenderer: WebViewRenderer, IMenuItemOnMenuItemClickListener
{
    protected override void OnCreateContextMenu (Android.Views.IContextMenu menu)
    {
        base.OnCreateContextMenu (menu);
        var item = menu.Add (Resource.String.teststring);
        item.SetOnMenuItemClickListener (this);

    }

    public bool OnMenuItemClick (IMenuItem item)
    {
        System.Diagnostics.Debug.WriteLine (item.ItemId);
        return true;
    }
}