我有一个在文本视图中创建彩色和可点击文本的方法。我不能在点击彩色文本时触发onClick。我不明白为什么它不起作用。
MainFragment.kt
textview.text = formatTextWithColorAndClickableSpan(
requireContext(), getString(R.string.about_private_data_save), "Aydınlatma Metnini", onClickDescription
)
private val onClickDescription = fun() {
PermissionDialogType.PRIVATE_DIALOG
}
方法:
fun formatTextWithColorAndClickableSpan(
context: Context,
fullText: String,
coloredText: String,
onClick: () -> Unit
): SpannableString {
val spannableString = formatTextWithColor(context, fullText, coloredText)
val startIndex = fullText.indexOf(coloredText)
val endIndex = startIndex + coloredText.length
val clickableSpan = object : ClickableSpan() {
override fun onClick(p0: View) {
onClick()
}
override fun updateDrawState(ds: TextPaint) {
super.updateDrawState(ds)
ds.isUnderlineText = true
}
}
spannableString.setSpan(clickableSpan, startIndex, endIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
return spannableString
}
我也试过这些:
textview.text = formatTextWithColorAndClickableSpan(
requireContext(), getString(R.string.about_private_data_save), "Aydınlatma Metnini", ::onClickDescription
)
private fun onClickDescription() {
PermissionDialogType.PRIVATE_INFO
}
型
1条答案
按热度按时间yqlxgs2m1#
我解决了这个代码行的问题。