TextView 实现打电话功能
程序员文章站
2022-03-13 20:48:29
...
先说一下我的需求,人员列表,每个人都有自己的电话号码,并且实现电话号加密,点击携带电话号码到拨号页面。
加密手机号
val replaceRange = phone.replaceRange(IntRange(3, 6), "****")
把html手机号设为变量,写入加密手机号
val phoneLink = "<a href='tel:$phone'>$replaceRange</a>"
使链接可以获取焦点
textPhone.movementMethod = LinkMovementMethod.getInstance()
转为html,进行赋值
textPhone.text = Html.fromHtml(phoneLink)
这里进行点击就直接可以了,!!!如果不可以,看一下xml文件下
这是我的xml。
<TextView
android:id="@+id/text_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:autoLink="all"//设置改属性会导致上边代码的失效
android:textColorLink="@color/tab_selected_color"//设置超链接颜色
tools:text="1233211234567" />
可能有人会奇怪为什么就ok了,我们可以把这里理解为html语言。
<a herf='tel:.......'>.......</a>
就是这样了。
完整代码。
//手机号
helper.getView<TextView>(R.id.text_phone).apply {
val phone = item.phone
if (AccountValidatorUtil.isMobile(phone)) {
//加密手机号
val replaceRange = phone.replaceRange(IntRange(3, 6), "****")
//把html手机号设为变量,写入加密手机号
val phoneLink = "<a href='tel:$phone'>$replaceRange</a>"
//使链接可以获取焦点
movementMethod = LinkMovementMethod.getInstance()
//转为html
text = Html.fromHtml(phoneLink)
}
}
上一篇: 灌汤包是哪里的小吃
下一篇: UVA 548 树 递归典型