【发布时间】:2015-12-11 14:12:15
【问题描述】:
我正在尝试使用列表视图中的搜索视图进行自动搜索。 Listview 连续填充多个项目。但是 OnqueryListener 没有触发任何东西。
下面是我该怎么做的示例。
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。 -
我很确定您应该将适配器和
OnQueryTextListener设置为SearchView对象...不过我可能错了。 -
所有你需要做的就是设置FilterQueryProvider
标签: android listview search android-arrayadapter