2012-03-15 3 views
7

Я разрабатываю приложение, где есть TextView, и на основе некоторого условия проверки я хочу сделать ссылки/телефонные номера в TextView, кликабельном на стороне Java. Могу ли я это, я не хочу, чтобы сделать его интерактивным по умолчанию, который делается путем установки в XML-файлSet Link Clickable в Java-Android

android:autoLink="all" 

То, что я уже пытался: Создать регулярные TextView и не установлен Автоссылка = «все» ,

 TextView myView = 
       (TextView)view.findViewById(R.id.thisIstheTextView); 
     myView .setLinksClickable(true); 

также попытался:

 myView .setMovementMethod(LinkMovementMethod.getInstance()); 

ни один из приведенной выше коды Java не работает, я не хочу, предварительно разработанную XML TextView с поддержкой Автоссылки, я хочу, чтобы изменить поведение TextView в Java-коде, основанном на условиях if(). В моем коде нет ошибки, но я не могу добиться того, чего хочу. Не могли бы вы поделиться своими знаниями. Спасибо.

+0

http://stackoverflow.com/questions/9380349/html-a-tag-not-working-in-android-textview/9380417#9380417 –

ответ

5

Linkify.addLinks (myView, Linkify.ALL); Исправлена ​​ошибка.

13

Использование setAutoLinkMask (int mask).

Возможные значения, которые могут быть объединены для mask, определены для класса Linkify.

+0

Спасибо. Хотя это эквивалентный метод android: autoLink, он все равно не работает. –

+9

Жаль, что я не согласен - это действительно работает. Вам нужно вызвать его перед вызовом 'setText (...)', хотя он не изменит ссылки в «TextView» после того, как в нем уже есть текст. Ваш вопрос задал вопрос о том, как изменить поведение «TextView» в зависимости от того, что вы хотели показать как кликабельные/связанные элементы (номера телефонов и т. Д.) «На основе некоторых проверенных условий». Я предположил, что вы сделаете чек, затем установите маску автоматической ссылки, затем установите текст. – Squonk

+1

Используйте Linkify константу, подобную этой textView.setAutoLinkMask (Linkify.WEB_URLS); –

Смежные вопросы