我正在更改我的应用程序以使用CursorLoader而不是startManagingCursor ....
我有一个AutoCompleteTextView,SimpleCursorAdapter和我的setFilterQueryProvider实现,在“runQuery”方法中我有
mProdutoAdapter.setFilterQueryProvider(new FilterQueryProvider() {
@Override
public Cursor runQuery(CharSequence constraint) {
Cursor cursor = mVendasDb.getProdutos(constraint.toString());
startManagingCursor(cursor);
return cursor;
}
});
如何更改此部件以使其与CursorLoader一起使用?
我应该丢弃setQueryFilterProvider并在AutocompleteTextView中使用TextWatcher,然后调用getLoaderManager()。restartLoader(0,bundleFilter,this)???我不知道如何程序!
bundleFilter的文本来自textwatcher。
使用这种方法可以吗?在这种情况下,这是最好的吗?
答案 0 :(得分:3)
根据android开发者网站的说法,这是一个很好的方法:
要丢弃旧数据,请使用restartLoader()。例如,当用户的查询更改时,SearchView.OnQueryTextListener的此实现会重新启动加载程序。需要重新启动加载程序,以便它可以使用修订的搜索过滤器来执行新查询: