Android: Как выделить EditText программно? - PullRequest
5 голосов
/ 21 января 2010

requestFocus() перемещает курсор в поле редактирования, но не выделяет его. Я хочу выделить его так, как будто его коснулись.

Как я могу это сделать?

Ответы [ 2 ]

22 голосов
/ 21 января 2010

Попробуйте это:

_field.setSelection( int startIndex, int endIndex);

Первый параметр startIndex - это точка в строке, с которой вы хотите начать подсветку, а параметр endIndex - это точка, где вы хотите остановить подсветку.

Если вы хотите выделить весь текст, используйте вместо этого:

_field.selectAll();
7 голосов
/ 21 января 2010

Я нашел ошибку. Мой код был примерно такой:

edit = new EditText();
edit.requestFocus()
container.addView(edit);

Переместил курсор на новое «редактирование», но не выделил его. Это исправлено:

edit = new EditText();
container.addView(edit);
edit.requestFocus();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...