小编典典

如何使用自定义适配器在ListView中搜索

java

我看了以下网站: ListView示例

其中描述了如何在使用默认适配器的列表视图中实现搜索功能,并且效果很好。

如何修改它,以便可以将其用于列表视图的自定义适配器?

部分代码为:

        dataList = (ListView) findViewById(R.id.lvFiles);
        tvQuote = (TextView) findViewById(R.id.tvDisplay);
        tvQuote.setTypeface(Typeface.createFromAsset(MainActivity.this.getAssets(), "fonts/roboto.ttf"));

        for (int y=0; y<strNamesOfAllah.length;y++) {
            name = strNamesOfAllah[y];
            meaning = strMeaning[y];
            rowsArray.add(new SetRows(R.drawable.icon, name, meaning));
        }
        adapter = new SetRowsCustomAdapter(MainActivity.this, R.layout.customlist, rowsArray);
        dataList.setAdapter(adapter);
        dataList.setClickable(true);

阅读 269

收藏
2020-11-30

共1个答案

小编典典

您需要覆盖适配器内部的getFilter并返回您创建的新的customFilter对象。看到这个答案:

编辑:

@Override
    public Filter getFilter() {
        if(customFilter == null){
            customFilter = new CustomFilter();
        }
        return customFilter;
    }
2020-11-30