当我们在recyclerview中使用searchview时,我们如何搜索彩色字符? [英] How can we have searched characters colored when we use searchview in recyclerview?

查看:19
本文介绍了当我们在recyclerview中使用searchview时,我们如何搜索彩色字符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 recyclerview,我想在 searchview 的帮助下搜索它.我希望我搜索的字符是彩色的并且是具体的.

I have a recyclerview and I want to search in it with help of searchview. I want my searched characters to be colored and be specific.

我正在使用 Kotlin 编程.

I am programming with Kotlin.

推荐答案

经过一番努力,我自己找到了答案.我使用这样的函数:

After a hard effort I found the answer myself. I use a function like this:

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"将是红色的.

The "charText" in "a" will be Red.

这篇关于当我们在recyclerview中使用searchview时,我们如何搜索彩色字符?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆