如何从EditText禁用仅剪切选项?

Siv*_*iva 1 android android-widget android-layout android-edittext

我有两个用于UserName和Password的EditText.第一个UserName EditText将是Visible.it将检查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) {

                                }
                            });
Run Code Online (Sandbox Code Playgroud)

and*_*ndu 6

首先设置customSelectionActionModeCallback.你可以通过它的id识别cut选项:android.R.id.cut

因此,ActionMode.CallbackonCreateActionMode中的代码如下所示:

public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
    MenuItem menuItem = menu.findItem(android.R.id.cut); 
    if (menuItem != null) {
        menuItem.setVisible(false);
    }
    return true;
}
Run Code Online (Sandbox Code Playgroud)

或者你甚至可以使用menu.removeItem(android.R.id.cut)删除它.

同时对menu.findItem(android.R.id.cut)进行null检查,因为它在调用setVisible时可能返回null.