先說一下我的需求,人員列表,每個人都有自己的電話號碼,並且實現電話號加密,點擊攜帶電話號碼到撥號頁面。
加密手機號
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)
}
}