Использование этого: Как сделать EditText недоступным для редактирования через XML в Android?
Вы сказали, что хотите, чтобы ваше поле было доступно для редактирования после некоторой логики. Сделайте это:
KeyListener keyLis = textView.getKeyListener();
textView.setKeyListener(null);
Затем, когда вы хотите, чтобы ваш TextView
снова был редактируемым, сделайте следующее:
textView.setKeyListener(keyLis);
Документация для TextView
класса:
Два метода:
getKeyListener()
setKeyListener(KeyListener keyLis)
EDIT
Я не нашел красивых ответов, но нашел несколько альтернативных способов сделать это:
сделать недоступным для редактирования
valueText.setEnabled(false);
valueText.setClickable(false);
valueText.setFocusable(false);
А потом
valueText.setEnabled(true);
valueText.setClickable(true);
valueText.setFocusable(true);
Вы также можете изменить то, что происходит при редактировании текста, чтобы ничего не происходило: Можем ли мы иметь не редактируемый текст в тексте редактирования
- Есть и другие очень дикие решения. Хотя они совсем не красивые.
Я рекомендую использовать первоначальное решение, если кто-то не найдет более быстрый путь.
Извините, я не смог найти лучший способ сделать это: (