【发布时间】:2018-03-16 13:16:30
【问题描述】:
我已经在 strings.xml 中添加了代码,例如
<string name="terms_agree_text">By Logging in, you are agreeing to our <u>terms and condition</u> and <u>privacy policy</u></string>
我也添加了类似这样的 bhahasa 语言中的相同字符串
<string name="terms_agree_text">Dengan masuk, Anda menyatakan bahwa Anda telah menyetujui <u>syarat dan ketentuan</u> dan <u>kebijakan privasi</u> kami</string>
然后我设置了这样的标签
mBinding.termsAndCondition.setText(Html.fromHtml(getString(R.string.terms_agree_text)));
在这里我必须为这个 2underline 文本做可点击事件。但是,我尝试使用
sp.setSpan(click, startIndex, endIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
但是这个字符串索引对于其他语言环境是错误的。 所以目前我已经在文本中添加了 View 来点击。
所以你能建议这样做吗? 谢谢
【问题讨论】:
-
你从哪里获得 startIndex。跨度依赖于开始和结束索引,您必须提供它。因此,如果您正在对字符串进行搜索,那么您需要为当前字符串找到它,并确认您在搜索范围和表示层上都获得了本地化字符串。
-
开始索引是= 40 来自英文但在Bahasa 是59 是开始索引。那么在我的情况下如何使用 Span 呢??
标签: android clickablespan