Я пытаюсь выполнить автозаследование с помощью searchview в списке. Listview заполняется несколькими элементами в строке. Но OnqueryListener ничего не стреляет.android Search Listview SimpleCursorAdapter не работает
Ниже приведен пример того, как это делается.
cursor = db.getAllRows();
String[] storeFrom = new String[]{SQLiteHandler.KEY_ID, SQLiteHandler.KEY_NAME, SQLiteHandler.KEY_AGE, SQLiteHandler.KEY_GENDER, SQLiteHandler.KEY_HEIGHT, SQLiteHandler.KEY_WEIGHT};
int[] toView = new int[]{R.id.tvId, R.id.tvName, R.id.tvAge, R.id.tvGender, R.id.tvHeight, R.id.tvWeight};
cursorAdapter = new SimpleCursorAdapter(getBaseContext(), R.layout.customlist, cursor, storeFrom, toView, 0);
personList = (ListView) findViewById(R.id.listView);
personList.setAdapter(cursorAdapter);
searchText = (SearchView) findViewById(R.id.search);
searchText.setOnQueryTextListener(new OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String text) {
return false;
}
@Override
public boolean onQueryTextChange(String text)
{
cursorAdapter.getFilter().filter(text);
cursorAdapter.notifyDataSetChanged();
return false;
}
});
Для одного, вы должны возвращаться 'true', если обрабатываются эти события. – cziemba
Я уверен, что вы должны установить адаптер и «OnQueryTextListener» в объект «SearchView» ... Возможно, я ошибаюсь. – ElliotM
все ypu нужно сделать, это настроить FilterQueryProvider – pskink