我有一个回收器视图,我想在searchview的帮助下在其中搜索。我希望我搜索到的字符是彩色的并且是具体的。
我正在使用 Kotlin 编程。
经过努力,我自己找到了答案。我使用这样的函数:
fun colorsearch(a:String,charText: String):SpannableStringBuilder{
var l = 0
var b:ArrayList<Int>
b = ArrayList()
var w = 0
var i = 0
if (charText!=""){
label@ while (i < a.length) {
var j=0
while (j<charText.length){
Log.v("abc", j.toString())
if (i == a.length)
break@label
while ((a[i] != charText[j])) {
if (j != 0) {
continue@label
}
i++
if (i == a.length)
break@label
}
i++
j++
}
b.add(i)
w++
if (i == a.length)
break@label
}
}
val searchtitle = SpannableStringBuilder(a)
while (l < w) {
searchtitle.setSpan(
ForegroundColorSpan(Color.RED),
b[l] - charText.length, b[l],
Spanned.SPAN_EXCLUSIVE_INCLUSIVE
)
l++
}
return searchtitle
}
">a"中的"charText"将为红色。