Заменить выбор EditText - PullRequest
2 голосов
/ 02 мая 2020

Как я могу заменить выделенный текст чем-то в тексте редактирования android? Например:

Default Text 

Предположим, что по умолчанию выбрано. Я хочу заменить его на! BoldDefault. Как мне это сделать? Я пытался использовать метод get selection, но не смог его заменить.

1 Ответ

2 голосов
/ 02 мая 2020

Если в EditText в данный момент выбран текст, вы можете получить доступ к начальной и конечной точкам выделения следующим образом:

int start = editText.getSelectionStart();
int end = editText.getSelectionEnd();

Вы можете получить доступ к EditText 'Editable тексту, например this:

Editable edit = et.getText();

Теперь вы можете заменить что-либо внутри этого Editable, используя метод replace():

String newText = "this will replace the current selection";
edit.replace(start, end, newText);

Как только вы это сделаете, вы, вероятно, захотите изменить выделение, чтобы у вас еще не была выделена часть нового текста:

editText.setSelection(start + newText.length());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...