在recyclerview中使用searchview时,如何搜索彩色字符?

问题描述 投票:-1回答:1

我有一个recyclerview,我想在searchview的帮助下进行搜索。我希望我搜索的字符是彩色的并且是特定的。

我正在与Kotlin编程。

android kotlin android-recyclerview searchview
1个回答
2
投票

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

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”将为红色。

© www.soinside.com 2019 - 2024. All rights reserved.