#android #android-edittext
#Android #android-edittext
Вопрос:
У меня странный сценарий. У меня есть EditText
val editText = findView...
editText.setText("Hello") // prefill some text
editText.setSelection(0, editText.text.length) // select the full length in the selection
Теперь EditText будет выглядеть так, как если бы Hello
все слово было выделено. Если пользователь что-то введет, скажем World
, это заменит весь выделенный текст, так что теперь в EditText будет только новое введенное слово World
.
Вопрос в том, есть ли способ, чтобы вместо замены предварительно заполненного выделения, когда пользователь вводит текст, он добавит текст и продолжит и расширит выделение. Итак, в приведенном выше сценарии, когда пользователь вводит World
данные после предварительного заполнения, это будет HelloWorld
со всем, что есть в выборе?
Ответ №1:
Вы должны использовать TextWatcher. Каждый добавляемый вами символ вы должны изменить выделение и добавить новый символ в свой выбор.
Ответ №2:
добавление события при редактировании текста изменение
когда событие будет нажато, удалите выделение
editText.clearFocus();
и поместите курсор в конец
editText.getText().length()
и когда будет введен новый символ, повторите выделение
editText.setSelection(0, editText.text.length)
надеюсь, вы поняли идею.