有没有办法改变autoLink
TextView检测电话号码的方式?
事情是,它很好地检测国际格式,例如+49123456789
,但它在本地格式化的数字上失败,如0699777666555(没有前面的“+”字符)。
我们也需要提供这些号码。
TextView设置为autoLink="all"
<TextView
android:id="@+id/chat_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
... some other settings ...
android:autoLink="all"
android:linksClickable="true"
android:textColorLink="@color/darkblue"
android:textColor="@color/black"/>
我们有内部号码(如5532)和本地电话号码,没有任何前缀,如12345678.如果它们也可以突出显示,没有任何前缀,或者至少没有太多编码,那就太棒了。
对此有何解决方案? 提前谢谢!
答案 0 :(得分:1)
尝试以编程方式执行此操作:
public class AutoLinkifyTextView extends TextView {
public AutoLinkifyTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public AutoLinkifyTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void setText(String text) {
super.setText(text);
parseLinks();
}
@Override
public void setText(int stringRes) {
super.setText(stringRes);
parseLinks();
}
private void parseLinks() {
Linkify.addLinks(this, Linkify.ALL);
}
}
然后使用AutoLinkifyTextView
代替TextView