【问题标题】:Adding to the Selected Text action menu添加到选定文本操作菜单
【发布时间】:2017-09-22 11:18:13
【问题描述】:

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

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

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

    base.OnActionModeStarted(mode);
}
    

但是,ClickListener() 中的 OnMenuItemClick(IMenuItem) 永远不会被击中。

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

我什至尝试通过使用设置点击处理程序

var size = mode.Menu.Size();
var menuItem = mode.Menu.GetItem(size - 1);

这仍然不起作用。在调试期间,我可以看到该项目已附加。我到处寻找,但没有找到答案。

摆弄OnWindowStartingActionMode(ActionMode.ICallback callback) 似乎也是徒劳的。

【问题讨论】:

    标签: c# android xamarin


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多