Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中使用CursorAdapter聚焦到已过滤的列表项?_Android_Android Listview_Filtering_Android Cursoradapter - Fatal编程技术网

如何在Android中使用CursorAdapter聚焦到已过滤的列表项?

如何在Android中使用CursorAdapter聚焦到已过滤的列表项?,android,android-listview,filtering,android-cursoradapter,Android,Android Listview,Filtering,Android Cursoradapter,我有一个使用CursorAdapter填充行的列表视图,它是一个使用查询列表视图进行排序的视图,有两个文本视图、两个按钮和一个图像视图。此外,屏幕上还有一个“搜索”框和a-Z字母,水平排列在ListView上方 我想轻触A-Z字母表,然后将焦点放在列表项上,从选定的字母表开始。搜索按钮也一样。我不想过滤列表,只需聚焦现有项目并滚动到该索引即可 如何实现这样的功能?下面是我用来让光标以所选字母表开始的代码片段 adapter.getFilter().filter(searchKey); adap

我有一个使用CursorAdapter填充行的列表视图,它是一个使用查询列表视图进行排序的视图,有两个文本视图、两个按钮和一个图像视图。此外,屏幕上还有一个“搜索”框和a-Z字母,水平排列在ListView上方

我想轻触A-Z字母表,然后将焦点放在列表项上,从选定的字母表开始。搜索按钮也一样。我不想过滤列表,只需聚焦现有项目并滚动到该索引即可

如何实现这样的功能?下面是我用来让光标以所选字母表开始的代码片段

 adapter.getFilter().filter(searchKey);
adapter.setFilterQueryProvider(new FilterQueryProvider() {

                            public Cursor runQuery(CharSequence constraint) {
                                Cursor cur = dbHelper
                                        .filterList(constraint
                                                .toString());

                                /*listView.post(new Runnable() {

                                    @Override
                                    public void run() {
                                        // TODO Auto-generated method stub
                                        listView.setSelection(cursor.getPosition());
                                    }
                                });*/

                                return cursor;
                            }

                        });

我不知道如何获得过滤后的光标在原始光标中的位置。

并且是为此而设计的。你给它一个索引,它就会跳转/滚动到列表中的那个位置。换句话说:如果你想跳转到以H开头的第一个项目,你必须找出它在数据集中的位置。我想你可以把一个项目的位置作为查询的一部分,或者迭代游标。作为一个旁注:考虑使用一个-它是一个标准的小部件,因此Android的UI模式,以及它的真正含义。我尝试使用AlphaoIndexer,但在滚动ListView时它没有显示。