如何从 EditText 禁用仅剪切选项?
Posted
技术标签:
【中文标题】如何从 EditText 禁用仅剪切选项?【英文标题】:How to Disable Only Cut option From EditText? 【发布时间】:2019-02-03 20:52:46 【问题描述】:我有两个用于用户名和密码的 EditText。第一个 UserName EditText 将是 Visible。它将检查 Valid UserName。然后,Password EditText 将可见。我希望用户复制用户名但不想剪切。 如何禁用剪切选项。 但下面的代码禁用所有选项。 代码:
@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)
);
【问题讨论】:
【参考方案1】:首先设置一个customSelectionActionModeCallback。 你可以通过它的 id 来识别 cut 选项:android.R.id.cut
所以您在 ActionMode.Callback 的 onCreateActionMode 中的代码如下所示:
public boolean onCreateActionMode(ActionMode actionMode, Menu menu)
MenuItem menuItem = menu.findItem(android.R.id.cut);
if (menuItem != null)
menuItem.setVisible(false);
return true;
或者您甚至可以使用 menu.removeItem(android.R.id.cut) 将其删除。
还对 menu.findItem(android.R.id.cut) 进行 null 检查,因为它可能在对其调用 setVisible 时返回 null。
【讨论】:
以上是关于如何从 EditText 禁用仅剪切选项?的主要内容,如果未能解决你的问题,请参考以下文章
如何禁用 EditText 中的 SwiftKey(第三方键盘)行为?