我想将Linkify与我的扩展TextView一起使用,但是如果我在覆盖的setText()方法中使用Linkify会因为无限循环而失败。
我找到了这样的解决方案,但它并不漂亮:
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) {
}
});
有没有办法在TextView上使用Linkify而没有这样的解决方法?我希望我的扩展TextView会自动添加链接(如果有的话)。
答案 0 :(得分:0)
找到合适的解决方案,使用
addLinks(Spannable s,Pattern p, 字符串方案,MatchFilter matchFilter, TransformFilter transformFilter)
然后使用
设置spannablesetText(Spannable spannable)
方法。