I'm trying to filter my listview with cursoradapter. This is what I've tried so far:
CustomAdapter adapter;
Cursor cursor;
etSearch.addTextChangedListener(new TextWatcher (){
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
public void onTextChanged(CharSequence cs, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
adapter.getFilter().filter(cs.toString());
}
});
cursor = dbHelper.getAllItemInventoryListings();
adapter = new CustomAdapter(this, cursor);
lv.setAdapter(adapter);
lv.setTextFilterEnabled(true);
adapter.setFilterQueryProvider(new FilterQueryProvider() {
@Override
public Cursor runQuery(CharSequence constraint) {
String strItemCode = constraint.toString();
return dbHelper.getAllItemInventoryListings(strItemCode);
}
});
When I tried it does not filter. What seems to be wrong? Your help will be appreciated. Thank you.
Try add adapter.notifyDataSetChanged(); after adapter.getFilter().filter(cs.toString());
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With