Блокировка EditText contextMenu

Я хочу создать EditText со следующими изменениями:

  1. При нажатии на нее не будет отображаться клавиатура
  2. После ОДИНОЧНОГО КОРОТКОГО щелчка он перейдет в режим выбора (когда я говорю режим выбора, я имею в виду режим, в котором вы можете выбрать часть текста (двумя указателями). Вы можете перейти в этот режим, нажав и удерживая текст.)
  3. После выбора текста панель инструментов копирования/вставки/вырезания не будет отображаться.

Во-первых, я думаю, я могу создать OnTouchListener и немедленно вернуть true, но тогда это заблокирует меня от выполнения второго действия (что я понятия не имею, как это сделать).

Я искал команду, которая переводит EditText в режим выбора, но все, что я смог найти, это способ получить из него выделенный текст...

Спасибо!

РЕДАКТИРОВАТЬ: я успешно сделал 1 и 2, но панель инструментов все еще отображается (пробовал unregisterForContextMenu)


person RE6    schedule 17.07.2012    source источник


Ответы (1)


вы можете использовать edittex.setCustomSelectionActionModeCallback

setCustomSelectionActionModeCallback(new Callback() {
        public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
            return false;
        }

        public void onDestroyActionMode(ActionMode mode) {                  
        }

        public boolean onCreateActionMode(ActionMode mode, Menu menu) {
            return false;
        }

        public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
            return false;
        }
    });

это будет блок для открытия контекстного меню для edittex

person Adem    schedule 06.11.2012
comment
вы нашли какое-нибудь решение? я тоже хочу, чтобы текст выбирался при касании, но нет контекстного меню для его обработки - person Dilroop Singh; 25.12.2015
comment
не повезло, попробовал вышеописанный метод, но текст не выделяется. для сдвига курсора отображается только один трекер, требуется 2, но не контекстное меню - person Dilroop Singh; 25.12.2015