我查看了以下网站:ListView Example
其中介绍了如何在使用默认适配器的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);
答案 0 :(得分:1)
您需要覆盖适配器内的getFilter并返回您创建的新customFilter对象。请参阅此答案:No results with custom ArrayAdapter Filter
编辑:
@Override
public Filter getFilter() {
if(customFilter == null){
customFilter = new CustomFilter();
}
return customFilter;
}