Страница 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 всё так же)