如何处理 textview 中的 2 链接点击使用字符串资源? [复制]
Posted
技术标签:
【中文标题】如何处理 textview 中的 2 链接点击使用字符串资源? [复制]【英文标题】:How handle 2 link click in textview use string resources? [duplicate] 【发布时间】:2021-03-04 05:38:30 【问题描述】:我有一些带有 2 个链接的文本,例如:“请阅读并接受我们的条款和隐私政策 ....”
<string name="terms_and_policy">... <a href='https://docs.google.com/document/d/xxx'><font color="#FC672B">**Terms**</font></a> and <a href='https://docs.google.com/document/d/xxx'><font color="#FC672B">**Privacy Policy**</font></a> ...</string>
可能处理2个链接使用这种情况,什么时候有2个链接在一个句子中或需要使用另一种方法?
附:我需要捕获单独的 2 次点击以发布分析事件。
【问题讨论】:
看看这对你有没有帮助:***.com/questions/10246366/… 不,我已经看到了这个链接 我认为这个链接会有所帮助:***.com/a/10697453/13083841 Mahdi M - 是的,看来是,谢谢,谢谢大家! 【参考方案1】:我在我的应用程序中使用了如下所述。
字符串.xml
<string name="about_fragment_privacy_policy" translatable="false">User Agreement and Privacy Policy</string>
布局.xml
<TextView
android:id="@+id/privacyPolicy"
android:layout_
android:layout_
android:text="@string/about_fragment_privacy_policy" />
Kotlin 代码
string = getString(R.string.about_fragment_privacy_policy)
spannableString = SpannableString(string)
val clickableUserAgreement = object : ClickableSpan()
override fun onClick(widget: View)
startActivity(
Intent(Intent.ACTION_VIEW).setData(
Uri.parse(
"https://example.com"
)
)
)
val clickablePrivacyPolicy = object : ClickableSpan()
override fun onClick(widget: View)
startActivity(
Intent(Intent.ACTION_VIEW).setData(
Uri.parse(
"https://example.com"
)
)
)
spannableString.setSpan(
clickableUserAgreement,
0,
14,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
)
spannableString.setSpan(
ForegroundColorSpan(resources.getColor(R.color.colorPrimary)),
0,
14,
0
)
spannableString.setSpan(
clickablePrivacyPolicy,
19,
string.length,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
)
spannableString.setSpan(
ForegroundColorSpan(resources.getColor(R.color.colorPrimary)),
19,
string.length,
0
)
privacyPolicy.text = spannableString
privacyPolicy.movementMethod = LinkMovementMethod.getInstance()
【讨论】:
以上是关于如何处理 textview 中的 2 链接点击使用字符串资源? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Android - 如何处理单个 ListViewItem 中的多个元素?