添加到“选定文本”操作菜单

时间:2016-09-15 10:06:46

标签: c# android xamarin

我已经在这几天了,所有我想要做的就是在所选的文本菜单中添加一个菜单项,并将事件绑定到它。我正在WebView中选择文字。

到目前为止,我可以通过膨胀或直接添加菜单项来向菜单中添加项目。

public override void OnActionModeStarted(ActionMode mode)
{
    var item  = mode.Menu.Add("Custom");
    item.SetOnMenuItemClickListener(new ClickListener());

    base.OnActionModeStarted(mode);
}

然而,OnMenuItemClick(IMenuItem)内的ClickListener()永远不会被击中。

我试图覆盖ActionMode,所有点击回调,我能找到的所有接口和类,但没有被调用。我可以看到实际的菜单项,但它什么也没做。

我甚至尝试使用

设置点击处理程序
var size = mode.Menu.Size();
var menuItem = mode.Menu.GetItem(size - 1);

仍然无法正常工作。在调试过程中,我可以看到该项被追加。我到处都是,我找不到任何答案。

摆弄OnWindowStartingActionMode(ActionMode.ICallback callback)也似乎毫无结果。

enter image description here

1 个答案:

答案 0 :(得分:1)

我假设您实施了IMenuItemOnMenuItemClickListener。实现点击监听器时,必须从Java.Lang.Object派生。

class ClickListener : Java.Lang.Object, IMenuItemOnMenuItemClickListener
{
    public bool OnMenuItemClick(IMenuItem item)
    {
        return true;
    }
}