android - 使用 AutoLink 时出现 Textview 问题
问题描述
每当我在TextView中使用autoLink="all"时,它都没有正确地自动链接手机号码。它也自动链接较早的号码(来自文本而不是手机号码的号码)。
这是布局
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:autoLink="all"
android:textIsSelectable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
输出附在下面
如何避免这个问题?
解决方案
如果我已经清楚地理解了您的问题,那么您也可以使用ClickableSpan 它还允许您在下划线和可点击的固定字符数处理相同的点击。在xml中
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/_18sdp"
android:layout_marginRight="@dimen/_18sdp"
android:fontFamily="@font/lato_semibold"
android:paddingTop="@dimen/_15sdp"
android:textAlignment="center"
android:textColor="@color/colorBlack"
android:textSize="@dimen/_13sdp" />
在java类中
SpannableString ss = new SpannableString("Hello World8 123456789");
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View textView) {
// handle on click
}
@Override
public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
}
};
ss.setSpan(clickableSpan, 12, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView textView = (TextView) findViewById(R.id.hello);
textView.setText(ss);
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setHighlightColor(Color.TRANSPARENT);
推荐阅读
- python - 根据两列删除重复项
- c# - 使用 С# CSVHELPER 从 CSV 获取值时,代码重复
- android - 尝试从外部源旁加载 APK 时出现“未安装应用程序”错误
- python - 删除熊猫中特定数据帧的时间序列数据中的滞后/差距
- firebase - Firebase 的免费服务是否不如付费服务快?
- reactjs - onClick 带有 react-three-fiber 的外部链接
- amazon-web-services - AWS Codepipeline 中的非阻塞失败步骤
- reactjs - Mapbox GL:如何在地图顶部显示边界框
- r - 神经网络拟合但结果给出错误的列数
- .net - 如何通过 GPO 禁用 .NET 3.5