如何禁用 EditText 中的“仅剪切”选项?

How to Disable Only Cut option From EditText?

我有两个用于用户名和密码的 EditText。第一个 UserName EditText 将是 Visible.it 将检查 Valid UserName.Then,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) {

                                }
                            });

首先设置一个customSelectionActionModeCallback。 您可以通过其 id 识别剪切选项:android.R.id.cut

所以您在 onCreateActionMode 中的代码来自 ActionMode.Callback 将如下所示:

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 时它可能 return null。