Android 将搜索筛选器应用于GridView
我在教程中找到了一个searchfilter的代码,想在我的项目中使用它,特别是在我的Android 将搜索筛选器应用于GridView,android,search,gridview,Android,Search,Gridview,我在教程中找到了一个searchfilter的代码,想在我的项目中使用它,特别是在我的GridView上,我用它来显示数据库表Accounts的内容,并提出了这个方法(教程中的其他代码片段在我的活动中被放到了适当的位置,但实际搜索过滤器的要点被放到了GridView): GridView public void TestGrid() { dbHelper = new DatabaseHelper(this); try { Cursor a = dbHelper.
GridView
上,我用它来显示数据库表Accounts
的内容,并提出了这个方法(教程中的其他代码片段在我的活动中被放到了适当的位置,但实际搜索过滤器的要点被放到了GridView
):
GridView
public void TestGrid() {
dbHelper = new DatabaseHelper(this);
try {
Cursor a = dbHelper.getAllAccounts();
startManagingCursor(a);
String[] from = new String[]{DatabaseHelper.colName, DatabaseHelper.colAmount, DatabaseHelper.colPeriodClass, DatabaseHelper.colStatClass};
int[] to = new int[]{R.id.colName, R.id.colAmount, R.id.colPeriod, R.id.colStat};
grid.setAdapter(new SimpleCursorAdapter(this, R.layout.accrow, a, from, to));
grid.setTextFilterEnabled(true);
setupSearchView();
} catch (Exception ex) {
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setMessage(ex.toString());
b.show();
}
}
其他作品
private void setupSearchView() {
mSearchView.setIconifiedByDefault(false);
mSearchView.setOnQueryTextListener(this);
mSearchView.setSubmitButtonEnabled(true);
mSearchView.setQueryHint("Search Here");
}
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)) {
grid.clearTextFilter();
} else {
grid.setFilterText(newText.toString());
}
return true;
}
public boolean onQueryTextSubmit(String query) {
return false;
}
问题
因此,除了实际的搜索过滤器(我不能说我一开始就对它有多大的希望)之外,所有的东西似乎都能工作。我键入我要查找的内容,但它没有任何作用。显然,我遗漏了所有这一切的一个重要部分。有人能解释一下我的错误吗?你在哪里键入?添加了其他部分,我的错。它是否与阵列适配器一起工作?示例代码与阵列适配器配合使用效果很好,但我希望它与我现有的适配器配合使用使用SimpleCursorAdapter显示我的数据的代码。