91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

如何讓Android選擇框支持模糊搜索

小樊
135
2024-07-25 00:19:13
欄目: 編程語言

要讓Android選擇框支持模糊搜索,可以通過自定義適配器來實現。下面是一個簡單的示例代碼:

  1. 首先,創建一個自定義的適配器類,繼承自BaseAdapter,并實現Filterable接口:
public class CustomAdapter extends BaseAdapter implements Filterable {
    private List<String> originalList;
    private List<String> filteredList;
    private Context context;

    public CustomAdapter(List<String> originalList, Context context) {
        this.originalList = originalList;
        this.filteredList = originalList;
        this.context = context;
    }

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

    @Override
    public Object getItem(int position) {
        return filteredList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        TextView textView = new TextView(context);
        textView.setText(filteredList.get(position));
        return textView;
    }

    @Override
    public Filter getFilter() {
        return new Filter() {
            @Override
            protected FilterResults performFiltering(CharSequence constraint) {
                FilterResults results = new FilterResults();
                List<String> filteredValues = new ArrayList<>();

                for (String value : originalList) {
                    if (value.toLowerCase().contains(constraint.toString().toLowerCase())) {
                        filteredValues.add(value);
                    }
                }

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

            @Override
            protected void publishResults(CharSequence constraint, FilterResults results) {
                filteredList = (List<String>) results.values;
                notifyDataSetChanged();
            }
        };
    }
}
  1. 在Activity或Fragment中使用自定義適配器類:
List<String> dataList = new ArrayList<>();
// 添加數據到dataList中

AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
CustomAdapter adapter = new CustomAdapter(dataList, this);
autoCompleteTextView.setAdapter(adapter);

通過以上步驟,就可以讓Android選擇框支持模糊搜索了。用戶在輸入框中輸入關鍵詞時,選擇框會自動篩選出包含該關鍵詞的選項并顯示出來。

0
阳山县| 建德市| 浪卡子县| 贞丰县| 克什克腾旗| 观塘区| 绥滨县| 崇礼县| 岗巴县| 四会市| 化德县| 平山县| 金沙县| 德惠市| 阿勒泰市| 个旧市| 东平县| 金秀| 塔河县| 凭祥市| 华池县| 鞍山市| 亳州市| 化州市| 灵山县| 平凉市| 峨山| 偏关县| 怀柔区| 汽车| 拜城县| 兴义市| 合川市| 安阳市| 长沙县| 新余市| 阳泉市| 南郑县| 宜章县| 乳源| 新兴县|