2016-07-02 8 views
0

Я хочу использовать Linkify с моим расширенным TextView, но если я использую метод Linkify in overrided, то метод setText() завершится неудачно из-за бесконечного цикла.Связать с TextView

Я нашел такое решение, но это не очень:

textView.addTextChangedListener(new TextWatcher() { 
      @Override 
      public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

      } 

      @Override 
      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       if(bypass){ 
        bypass = false; 
        return; 
       } 
       bypass = true; 
       if(!Linkify.addLinks(textView, Linkify.WEB_URLS | Linkify.EMAIL_ADDRESSES)){ 
        Linkify.addLinks(textView, phoneMatcher, "tel:", null, Linkify.sPhoneNumberTransformFilter); 
       } 
      } 

      @Override 
      public void afterTextChanged(Editable s) { 

      } 
     }); 

Есть ли способ использовать Linkify на TextView без такой обходной путь? Я хочу, чтобы мой расширенный TextView автоматически добавлял ссылки, если они есть.

ответ

0

Найдено правильное решение, чтобы использовать

addLinks (Spannable с, шаблон р, схемы Строка, MatchFilter matchFilter, TransformFilter transformFilter)

, а затем установить spannable используя

setText (Spannable spannable)

способ.