阻止 EditText contextMenu

Posted

技术标签:

【中文标题】阻止 EditText contextMenu【英文标题】:Blocking EditText contextMenu 【发布时间】:2012-07-16 03:26:21 【问题描述】:

我想创建一个具有以下更改的 EditText:

    点击它不会显示键盘 在 SINGLE 后,短按它会进入选择模式(当我说选择模式时,我是指可以选择文本部分的模式(带有两个指针)。您可以通过长按文本。) 选择文本后,复制/粘贴/剪切工具栏将不会显示

首先,我想我可以创建一个 OnTouchListener 并立即返回 true,但它会阻止我做第二件事(我不知道该怎么做)。

我寻找了一个让 EditText 进入选择模式的命令,但我只能找到一种从中获取所选文本的方法......

谢谢!

编辑:我成功制作了 1 和 2,但工具栏仍然显示(尝试过 unregisterForContextMenu

【问题讨论】:

【参考方案1】:

你可以使用edittex.setCustomSelectionActionModeCallback

setCustomSelectionActionModeCallback(new Callback() 
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) 
            return false;
        

        public void onDestroyActionMode(ActionMode mode)                   
        

        public boolean onCreateActionMode(ActionMode mode, Menu menu) 
            return false;
        

        public boolean onActionItemClicked(ActionMode mode, MenuItem item) 
            return false;
        
    );

这将被阻止打开edittex的上下文菜单

【讨论】:

你找到解决办法了吗?我也希望文本在触摸时被选中,但没有上下文菜单来处理它 运气不好,尝试了上述方法,但没有选择文本。光标移位器只显示一个跟踪器,需要 2 个但不需要上下文菜单

以上是关于阻止 EditText contextMenu的主要内容,如果未能解决你的问题,请参考以下文章

阻止 EditText contextMenu

Android怎么关闭EditText中的软键盘

在 EditText 背景外绘制复合可绘制对象

保留recyclelerview中的edittext内容

在Android开发中如何移除EditText上的输入焦点

Android开发:在EditText中关闭软键盘 转来的