当我们在recyclerview中使用searchview时如何使字符变成彩色?

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

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

android android-studio kotlin android-recyclerview searchview
1个回答
0
投票

[经过努力,我自己找到了答案。我使用这样的功能:

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.