繁体   English   中英

如何在Android Studio中实现搜索?

[英]How to implement search like in Android Studio?

这是我要实现的功能:即使中间缺少一些字母,搜索结果也必须包含搜索键。 因此,例如,如果用户要搜索noodles并意外将其拼写错误并输入nooles ,则仍然会弹出正确的搜索结果。 以下是一些其他示例:

在此处输入图片说明

在此处输入图片说明

我想我需要将搜索关键字分解为两半。 然后显示包含键的两半的结果。 有人做了这样的事情吗? 如果我将其分为三个或四个部分怎么办? 如果我将其分解为一个字符的字符串,并且唯一的要求是结果包含搜索键包含的所有字母怎么办?

我没有对此进行足够的测试,但是我只是写了这个,它似乎起作用了。 请提供其他答案,使用其他方法!

// returns true if a result string contains key 
// (or any combination of its letters in order)
private boolean contains(String result, String key) {
    // make both strings lowercase and remove spaces
    result = result.toLowerCase().replace(" ", "");  
    key = key.toLowerCase().replace(" ", "");

    // use a char array
    char[] letters = key.toCharArray();

    // loop through it
    for (char c : letters) {
        if (!result.contains(c + "")) {
            return false;   // stop searching if can't find at least one char
        }

        // remove the first part of the string, so that we're searching for 
        // letters that exist in a string in order they appear in the key.
        result = result.substring(result.indexOf(c));
    }

    return true;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM