Страница 1 из 1

Как выделить видимый участок текста в editText

Добавлено: 06 янв 2013, 15:35
randomize
Как выделить участок текста в editText, который сейчас активен, т.е. выведен на экран устройства?

Re: Как выделить видимый участок текста в editText

Добавлено: 06 янв 2013, 22:39
KamiSempai
Не совсем понимаю о чем Вы но постараюсь догадаться.
getCurrentFocus() - Возвращает View находящийся в фокусе. Обязательно проверьте полученное значение на null. Если null значит ни один View не в фокусе.
editText.setSelection(int start, int stop) - Выделяет участок текста в EditText от start до stop. Если будете применять к View полученному с помощью getCurrentFocus() обязательно проверьте является ли View объектом класса EditText. Делать это лучше так:

Код: Выделить всё

View view = getCurrentFocus();
if(view != null && view instanceof EditText) {
	((EditText) view).setSelection(0, ((EditText) view).getText().length());
}
В примере выделяется весь текст в EditText который сейчас в фокусе.

Re: Как выделить видимый участок текста в editText

Добавлено: 09 янв 2013, 10:09
randomize
Возможно я не совсем понятно сформулировал вопрос, я имел ввиду выделить участок текста в ediText (id которого я знаю), который на данный момент виден без прокрутки, для дальнейшей обработки данного текста.

Re: Как выделить видимый участок текста в editText

Добавлено: 09 янв 2013, 20:38
KamiSempai
Что то я не пойму про "виден без прокрутки". EditText не помещается полностью на экране и нужно получить ту часть текста которая видна? Или EditText в списке?

Re: Как выделить видимый участок текста в editText

Добавлено: 09 янв 2013, 21:09
randomize
Да, нужно получить часть текста которая видна. Сам editText помещается на экран, а в нем большой текст, вот нужно получить кусок текста, который мы сейчас видим.

Re: Как выделить видимый участок текста в editText

Добавлено: 09 янв 2013, 23:16
rezak90
могу предложить свой велосипед =)
кинуть в эдиттекст свой скрол у которого полно красивых методов, вычисляем видимую первую строку и последнюю и потом копируем (с textview такое делал, думаю с edittext всё так же)