【问题标题】:How to remove default context menu in Edit Text? [duplicate]如何删除编辑文本中的默认上下文菜单? [复制]
【发布时间】:2017-11-16 09:39:12
【问题描述】:

我在我的 Android 应用程序中使用EditText。当我长按EditText 时,我想删除/隐藏所有默认上下文菜单,如复制、剪切、全选等。只应显示粘贴菜单。我已尝试使用以下链接中的解决方案,但与粘贴一起,SelectAll 选项也会显示。我怎样才能删除它。

EditText: Disable Paste/Replace menu pop-up on Text Selection Handler click event

【问题讨论】:

  • 你为什么要这么做?
  • 我的项目中有一个要求,如果用户从他的手机复制文本并返回到我们的应用程序,在长按编辑文本时,他应该只提供粘贴选项跨度>
  • @Prem 部分是这样。但在这里我想显示粘贴选项而不是完全禁用所有默认菜单
  • 希望对您有所帮助:stackoverflow.com/questions/12995439/…

标签: android android-edittext


【解决方案1】:
EditText yourEditText = (EditText) findViewById(R.id.your_edit_text);
yourEditText.setCustomSelectionActionModeCallback(new ActionMode.Callback() 
{
    @Override
    public boolean onCreateActionMode(ActionMode actionMode, Menu menu) 
    { 
        return false; 
    }
    @Override
    public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) 
    { 
        return false; 
    }
    @Override
    public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) 
    { 
        return false; 
    }
    @Override
    public void onDestroyActionMode(ActionMode actionMode) 
    { 
        // Do your stuff here when you destroy
    }
    });
}

在您的 xml 文件中,将以下行添加到您各自的 editText:

android:textIsSelectable="false"

对于进一步的操作,您可以使用该库:

https://github.com/neopixl/PixlUI

【讨论】:

  • @MSaasLakhan “销毁时在这里做你的事情”我如何才能只在此处启用粘贴选项并隐藏其余部分,包括全选。
  • 请检查更新的答案。让我知道它是否对你有用,如果这对你有用,别忘了把这篇文章标记为答案。快乐编码:)
  • @MSaadLakhan 感谢您的代码,但很抱歉,它没有多大帮助。
  • 我用一张照片更新了我的问题。如您所见,全选仍然显示。我只想粘贴在那里
  • 兄弟看看更新的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-31
  • 2012-11-13
  • 2010-12-19
  • 1970-01-01
  • 2012-05-06
  • 2019-11-21
相关资源
最近更新 更多