У меня есть текст редактирования в моем приложении. Когда пользователь касается текста редактирования, весь текст должен быть выбран, и когда он начнет печатать текст, он должен быть очищен. Примером может служить адресная строка браузера. Есть ли способ сделать это? Пожалуйста, помогите мне.
Android EditText: выберите текст во время касания и очистки, когда пользователь начнет вводить текст.
Ответ 1
Вы можете выбрать весь текст в EditText, используя
android:selectAllOnFocus
, а также setSelectAllOnFocus(boolean)
Ответ 2
Вызовите EditText.setSelectAllOnFocus(boolean selectAllOnFocus)
, чтобы выбрать весь текст в фокусе.
Установите прослушиватель кликов на вызов EditText
и onClick
edittext.selectAll();
Ответ 3
Добавить атрибут в файл main.xml:
android:selectAllOnFocus="true"
Затем будет выбран весь текст и когда пользователь напечатает что-то, что удалит его.
Ответ 4
Вы можете использовать свойство android:hint
вместо android:text
, и вы получите то, что хотите, с специальным кодом.
Ответ 5
Вы можете выбрать весь текст в EditText, используя android:selectAllOnFocus
или setSelectAllOnFocus(boolean)
.
Установите флаг, когда выбран весь текст. Затем определите изменение текста с помощью метода addTextChangedListener в вашем EditText и сделайте свой класс реализованным или определите внутренний класс, реализующий TextWatcher класс.
В этом методе класса watcher установите флаг, который вы задали, чтобы указать, выбран ли весь текст. если true, то do TextView.setText("")
. Это очистит текст. Теперь установите флаг в значение false, чтобы последующие изменения текста не вызвали удаление текста.
Ответ 6
Это работает, будет выбран весь текст и когда пользователь напечатает что-нибудь, что его удалит.
editText.setSelectAllOnFocus(true);
editText.requestFocus();
editText.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager keyboard = (InputMethodManager) catalougeJobDetailFragment
.getActivity().getSystemService(
Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(commentEt, 0);
}
}, 20);