Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Razangann
12 / 12 / 0
Регистрация: 11.01.2013
Сообщений: 135
#1

Определить, на какое слово кликнули в TextView - Программирование Android

31.07.2014, 00:09. Просмотров 1018. Ответов 10
Метки нет (Все метки)

Здравствуйте! Появилась надобность определить на какое слово кликнули в TextView. Как можно это сделать?
Координаты - не вариант, т.к. разные размеры экрана + текст со скроллингом, много гемора получится
Сейчас рассматриваю вариант с link'ами, но не могу найти, чтобы определить по какому именно слову нажали.
В целом должно быть так: есть текст, в нем несколько активных слов, к примеру "телефон". Это слово подчеркивается и выделяется, по нажатие на него должна появится подсказка.
Вот и в принципе вопрос
P.S. Если в кратце - нужно на конкретное слово в TextView повесить обработчик клика.
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.07.2014, 00:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, на какое слово кликнули в TextView (Программирование Android):

Текст из TextView перенести в другой TextView по нажатию Button - Программирование Android
Люди, помогите плиз. Недавно начал ковырять программирование под Android. Хотел сделать банальную вещь - текст из TextView перенести в...

TextView txt = new TextView(this); - ошибка - Программирование Android
Возникла проблема с динамическим создание TextView в цыкле, хотя в другом месте создается таким же образом все нормально TextView txt =...

Определить какое слово больше - QBasic
Вечер добрый! Надо определить какое с двух первых слов имеет больше символов Вот код который я написал, только он не хочет правильно...

в с++ определить какое по порядку слово в строке - C++
только начало #include "stdafx.h" #include "string.h" #include "ctype.h" #include"cstdio" int _tmain(int argc,...

Определить какое слово с какой из приставок записано - Pascal ABC
1. Условие: На уроке разбирали тему: «Правописание приставок „из» и „ис“». Учительница записывает слово с одной из приставок. Надо...

Определить какое слово в строке встречается чаще всего - C++
ребят,помогите.Для Вас же это как семечки 1. Определить какое слово в строке встречается чаще всего 2. Подсчитать количество букв а...

10
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
31.07.2014, 02:50 #2
Можно повесить листенер только на весь TextView, но не на конкретное слово. Если уж очень хочется, то в голову приходит только одно - нужное слово выводить в отдельном TextView, и уже на него вешать листенер.
1
krapotkin
2665 / 2541 / 642
Регистрация: 14.04.2014
Сообщений: 12,264
Записей в блоге: 7
31.07.2014, 06:34 #3
та функциональность, что описана, не соответствует TextView зато соответствует WebView
1
Rube
911 / 559 / 88
Регистрация: 13.02.2014
Сообщений: 2,071
31.07.2014, 08:36 #4
Razangann, копируйте выделенное в буфер и сверяйте.
1
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
31.07.2014, 11:29 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Готовое решение через span'ы:
http://stackoverflow.com/a/8617672/2894324
1
Razangann
12 / 12 / 0
Регистрация: 11.01.2013
Сообщений: 135
31.07.2014, 13:18  [ТС] #6
Спасибо! Вот про Span - почти то, что нужно...только span'ом делается весь текст, а нужно некоторые слова, можно ли это сделать? Пробовал через textview.append("asd"), но он так же выделяется и реагирует...
0
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
31.07.2014, 13:49 #7
Цитата Сообщение от Razangann Посмотреть сообщение
только span'ом делается весь текст
Вы уверены? Я попробовал только что этот пример, у меня каждое слово отдельно кликабельно.
1
Razangann
12 / 12 / 0
Регистрация: 11.01.2013
Сообщений: 135
31.07.2014, 13:50  [ТС] #8
Вот в том и проблема - каждое. А нужно к примеру только одно слово кликается, а остальные просто текст...
0
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
31.07.2014, 13:54 #9
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Razangann Посмотреть сообщение
Вот в том и проблема - каждое.
Все, теперь понял.

Вот смотрите, здесь цикл перебирает все слова и делает их кликабельными.
нужно просто добавить проверку для слова, и если оно удовлетворяет каким-то условиям - сделать его кликабельным
Java
1
2
3
4
5
6
7
8
9
10
11
for (int end = iterator.next(); end != BreakIterator.DONE; start = end, end = iterator
                .next()) {
            String possibleWord = definition.substring(start, end);
            if (possibleWord.equals("words")) { // здесь условие
                if (Character.isLetterOrDigit(possibleWord.charAt(0))) {
                    ClickableSpan clickSpan = getClickableSpan(possibleWord);
                    spans.setSpan(clickSpan, start, end,
                            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
                }
            }
        }
1
Razangann
12 / 12 / 0
Регистрация: 11.01.2013
Сообщений: 135
31.07.2014, 13:57  [ТС] #10
Вооооо!!!!!!!!! Круто! 2 дня мучился, наконец Спасибо огромное!!!!!))
P.S. А ничего если у меня текст русский с буквами "й" и "ё"? Смущает строчка Locale.US...
0
Netscape
374 / 361 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
31.07.2014, 14:03 #11
Цитата Сообщение от Razangann Посмотреть сообщение
P.S. А ничего если у меня текст русский с буквами "й" и "ё"? Смущает строчка Locale.US...
Можно взять русскую локаль:
Java
1
2
Locale ruLocale = new Locale("ru","RU");
BreakIterator iterator = BreakIterator.getWordInstance(ruLocale);
1
31.07.2014, 14:03
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.07.2014, 14:03
Привет! Вот еще темы с ответами:

Определить, какое слово встречается в строке чаще всего - C++
1. Определить какое слово встречается в строке чаще всего. можно с пояснениями если не сложно

Определить, какое слово встречается в строке чаще всего - C++
Задана строка, которая состоит из символов. Символы сочетают в слова. Слова отделяются одним или несколькими пробелами. В конце текста...

Определить, в какое слово обрабатывает машина Тьюринга каждое из заданных слов - Теория автоматов
Помогите:cry:сегодня уже зачёт:wall:

Определить, какое слово - максимальной или минимальной длины - находится ближе к началу строки - Delphi
Помогите срочно!!! Пожалуйста помогите.... только нужно выполнять с объектами делфи...а не просто паскаль код Дана строка...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru