我有一个如下的数据库:
------------------------------
BOOK NAME | BOOK FORMAT | COUNT |
------------------------------
Android | HTML | 1
WPF | PDF | 10
Symbian | PS | 2
Windows | HTML | 2
我使用自定义的SimpleCursorAdapter将这个数据库展示给用户。
CustomSimpleCursorAdapter extends SimpleCursorAdapter
实现可过滤性
通过重写 getView()
和 runQueryonBackgroundThread()
方法,正确显示了书籍的网格视图。
用户有以下选项:
HTML | PDF | PS | DELETE
Constraint: BOOK FORMAT
[HTML - 1, PDF - 2, PS - 3]
当用户按下HTML菜单选项时,必须显示HTML类型的书籍。
在MenuOption处理程序中,我编写了以下内容:
adapter.getFilter().filter("1");
runQueryonBackgroundThread() {
if(mCursor != null)
mCursor.close();
mCursor = query(using the constraint)
return mCursor;
}
这个限制影响了我重写的runQueryonBackgroundThread()
方法。但它没有更新网格视图并抛出异常。
"筛选器:android.view.ViewRoot$CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能触摸其视图"
请帮助我。