Как отключить только вырезать опцию из EditText? - PullRequest
0 голосов
/ 29 августа 2018

У меня есть два EditText для имени пользователя и пароля. первый EditNext UserName будет Visible.it проверит действительное имя пользователя. Затем, EditText пароль будет виден. Я хочу, чтобы пользователь скопировал имя пользователя, но не хочу вырезать. как отключить опцию Cut. Но ниже код Отключить все опции. Код:

     @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 Ответ

0 голосов
/ 29 августа 2018

Сначала установите customSelectionActionModeCallback . Вы можете определить опцию обрезки по ее идентификатору: 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) .

Также проверка на null для menu.findItem (android.R.id.cut), поскольку она может возвращать null при вызове для него setVisible.

...