我想在必填字段中设置符号*。为此,我可以使用下面的代码行:

hint_mobile!!.setText(Html.fromHtml(resources.getString(R.string.mobile_number) + "<sup> * </sup>"));

这是可行的,但我不能在此符号上设置红色*

所以我用下面的另一个例子:
hint_mobile!!.setText(resources.getString(R.string.mobile_number))
        val str = hint_mobile!!.text.toString()
        val loc = hint_mobile!!.text.toString().indexOf("*")
        str!!.setSpan(ForegroundColorSpan(Color.RED), loc, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE)

所有代码集都行了,但错误出现在下面的行:
str!!.setSpan(ForegroundColorSpan(Color.RED), loc, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE)

错误
Unresolved reference: setSpan

那么我该如何解决该错误?

最佳答案

您需要使用SpannableString,如下所示:

val spannableString = SpannableString("${resources.getString(R.string.mobile_number)} *")
val loc = spannableString.toString().indexOf("*")
spannableString.setSpan(ForegroundColorSpan(Color.RED), loc, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE)
hint_mobile!!.setText(spannableString.toString())

关于android - Unresolved reference :Kotlin中的setSpan,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54127608/

10-11 21:38