中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何讓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
无极县| 高陵县| 田林县| 光山县| 卢湾区| 敦煌市| 盖州市| 温宿县| 新乐市| 醴陵市| 惠州市| 苗栗县| 鸡东县| 辉县市| 博兴县| 大悟县| 濮阳市| 东阳市| 赤壁市| 偃师市| 安吉县| 邮箱| 雷波县| 隆昌县| 翁源县| 洛宁县| 大安市| 慈溪市| 阿图什市| 彰化市| 张家港市| 富平县| 鄂尔多斯市| 嵩明县| 临泽县| 屯留县| 克山县| 科技| 西畴县| 芒康县| 崇仁县|