android - 未解决的参考:Kotlin 中的 setSpan
问题描述
我想在必填字段中设置符号 *。为此我可以使用下面的代码行:
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)
所有代码集 grate 但错误出现在以下行:
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())
推荐阅读
- java - 在 libgdx 游戏中将 GoogleMap 显示为片段
- python - 将循环中的数据框写入多个 Excel 文件
- gcc - 如何将 ilogb 与 newLib 一起使用?
- python - Movidius 和模板匹配
- php - Laravel api http 请求在 2 个具有不同浏览器的客户端上排序/排队
- javascript - 完成时的 AJAX 递归回调
- python - Python 中 Beautiful Soup XML 解析的问题
- http-headers - 在响应标头中隐藏 mobilefirst 7 服务器信息
- python - Reading data from /sdb1
- mysql - mysqldump segmentation fault on large --where=(id IN ...)