使用CursorLoader的AutoCompletetextView

时间:2013-06-10 10:57:49

标签: android

我正在更改我的应用程序以使用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。

使用这种方法可以吗?在这种情况下,这是最好的吗?

1 个答案:

答案 0 :(得分:3)

根据android开发者网站的说法,这是一个很好的方法:

Restarting a Loader :

  

要丢弃旧数据,请使用restartLoader()。例如,当用户的查询更改时,SearchView.OnQueryTextListener的此实现会重新启动加载程序。需要重新启动加载程序,以便它可以使用修订的搜索过滤器来执行新查询: