gpt4 book ai didi

java - 自动完成 TextView Android。完成首字母

转载 作者:行者123 更新时间:2023-12-04 13:32:57 25 4
gpt4 key购买 nike

我在 autoCompleteTextView 中的适配器是这样的:

  • -苹果
    -梨
    -橙
    -香蕉
    -葡萄

  • 如果我输入“p”,它现在的工作方式将出现在下拉列表中 苹果、梨和葡萄因为他们匹配,但我只想让它显示梨,因为它是唯一以 p 开头的单词。所以,问题是:如何告诉 autoComplete 的 dropDownList 显示与以我正在搜索的内容开头的单词的匹配,而不是显示包含它的单词在不是第一个的其他位置。
    例如,如果我输入“pe”,我只想显示梨而不是葡萄,因为梨以该字符串开头。
    这是我的代码
    ArrayList<String> data = dbHelper.getDataAsString();
    ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, data);
    autoCompleteTv.setAdapter(adapter);
    autoCompleteTv.setThreshold(2);

    最佳答案

    以此为引用。我只是在制作后测试了这段代码,它应该可以正常工作。
    假设您的列表仅属于字符串类型。

    private String[] searchableList = {"apple", "pear", "grape"};
    我做了这个函数,它需要 query并返回新格式化的字符串列表。
        private List<String> filterQuery(String query) {
    // This takes all strings items which are valid with query
    List<String> filterList = new ArrayList<>();

    // Looping into each item from the list
    for (String currentString : searchableList) {
    // Make sure everything is lower case.
    String myString = currentString.toLowerCase(Locale.getDefault());
    // Take first two characters from the string, you may change it as required.
    String formatTitle = myString.substring(0, 2);
    // If query matches the current string add it to filterList
    if (formatTitle.contains(query)) {
    filterList.add(formatTitle);
    }
    }
    return filterList;
    }
    让我知道事情的后续。

    关于java - 自动完成 TextView Android。完成首字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63962112/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com