ArrayAdapter: 搜索类名本身而不是用户
创始人
2024-09-14 03:30:21
0

在Java中,可以使用ArrayAdapter类来实现搜索类名本身而不是用户的功能。下面是一个使用ArrayAdapter的代码示例:

import android.content.Context;
import android.widget.ArrayAdapter;
import android.widget.Filter;
import android.widget.Filterable;

import java.util.ArrayList;
import java.util.List;

public class ClassNameAdapter extends ArrayAdapter implements Filterable {

    private List originalData;
    private List filteredData;
    private ClassNameFilter filter;

    public ClassNameAdapter(Context context, int resource, List data) {
        super(context, resource, data);
        this.originalData = data;
        this.filteredData = data;
        this.filter = new ClassNameFilter();
    }

    @Override
    public int getCount() {
        return filteredData.size();
    }

    @Override
    public String getItem(int position) {
        return filteredData.get(position);
    }

    @Override
    public Filter getFilter() {
        return filter;
    }

    private class ClassNameFilter extends Filter {

        @Override
        protected FilterResults performFiltering(CharSequence constraint) {
            FilterResults results = new FilterResults();
            List filteredList = new ArrayList<>();

            if (constraint == null || constraint.length() == 0) {
                // 如果搜索条件为空或长度为0,则返回原始数据
                filteredList.addAll(originalData);
            } else {
                String filterPattern = constraint.toString().toLowerCase().trim();

                // 遍历原始数据,找到匹配搜索条件的类名
                for (String className : originalData) {
                    if (className.toLowerCase().contains(filterPattern)) {
                        filteredList.add(className);
                    }
                }
            }

            results.values = filteredList;
            results.count = filteredList.size();
            return results;
        }

        @Override
        protected void publishResults(CharSequence constraint, FilterResults results) {
            filteredData = (List) results.values;
            notifyDataSetChanged();
        }
    }
}

使用上述代码,你可以创建一个ClassNameAdapter对象并将其设置为你的列表视图的适配器。当用户输入搜索关键字时,ArrayAdapter将根据用户输入的关键字过滤类名,并更新列表视图显示过滤后的结果。

相关内容

热门资讯

wepoke模拟器!wepok... wepoke模拟器!wepoke有科技吗,wepoke软件收费是真的,扑克教程(有挂教程);致您一封...
微扑克ai机器人!wepoke... 微扑克ai机器人!wepoke辅助透视教程,德州aa poker有外挂,软件教程(有挂辅助挂)1、构...
德州微扑克辅助!wpk微扑克真... 德州微扑克辅助!wpk微扑克真的有挂吗,德州软件工具,德州论坛(有挂辅助挂),您好,德州微扑克辅助这...
wepok软件透明挂!德扑统计... wepok软件透明挂!德扑统计软件,德州辅助神器wpk,2025新版总结(有挂透明)1、wepok软...
智星德州菠萝有挂吗!微扑克有规... 智星德州菠萝有挂吗!微扑克有规律吗,德州ai智能系统,透明挂教程(有挂技巧)您好,智星德州菠萝有挂吗...
wepower辅助器!德州之星... wepower辅助器!德州之星app辅助器怎么用,wpk透视辅助哪里下载,规律教程(有挂黑科技)是一...
wepokeai代打!微扑克系... wepokeai代打!微扑克系统的发牌速度有多快,红龙扑克是真是假,可靠技巧(有挂透明)1、许多玩家...
aapoker猫腻!德州ai机... aapoker猫腻!德州ai机器人免费测试,微扑克有计算器,技巧教程(有挂教学),您好,德州ai机器...
wepoke辅助有挂!aapo... wepoke辅助有挂!aapoker辅助是真的吗,wpk透视辅助封号,第三方教程(有挂教学);小薇(...
微扑克辅助机器人!aapoke... 微扑克辅助机器人!aapoker是正规的吗,(wEpoKe)原生真的是有挂(详细辅助玩家教你)1、完...