Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.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 ListView中的光标索引越界错误_Android_Listview_Simplecursoradapter - Fatal编程技术网

Android ListView中的光标索引越界错误

Android ListView中的光标索引越界错误,android,listview,simplecursoradapter,Android,Listview,Simplecursoradapter,我面临着一个令人沮丧的问题,我有一个包含3个选项卡和3个列表视图的活动,我面临着一个关于OnItemClick事件的问题。当我单击任何条目时,它会打开另一个活动并正确显示所需的结果,但当我再次返回listview并尝试打开任何条目时,我得到了超出绑定的索引异常索引-1请求。毫无意义的是,3个can中有一个listview可以正常工作,而另2个则不能正常工作。我的代码如下: 此简历: public void onTextChanged(CharSequence s,

我面临着一个令人沮丧的问题,我有一个包含3个选项卡和3个列表视图的活动,我面临着一个关于OnItemClick事件的问题。当我单击任何条目时,它会打开另一个活动并正确显示所需的结果,但当我再次返回listview并尝试打开任何条目时,我得到了超出绑定的索引异常索引-1请求。毫无意义的是,3个can中有一个listview可以正常工作,而另2个则不能正常工作。我的代码如下:

此简历:

                public void onTextChanged(CharSequence s, int start, int before,
                int count) {

        }

        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {

        }

        public void afterTextChanged(final Editable s) {

            mAdapter.setFilterQueryProvider(new FilterQueryProvider() {
                public Cursor runQuery(CharSequence constraint) {

                    String value = "%" + constraint + "%";
                    String Type2 = "%" + jype + "%";

                    curs = mDb.query(TABLE_NAME, columns, COL_SanTitle
                            + " LIKE ? And " + COL_SanCat + " LIKE ?",
                            new String[] { value, Type2 }, null, null,
                            COL_SanTitle + " ASC");

                    return curs;

                }
            });

            fAdapter.setFilterQueryProvider(new FilterQueryProvider() {
                public Cursor runQuery(CharSequence constraint) {

                    String value = "%" + constraint + "%";

                    String Type2 = "%YES%";

                    cursF = mDb.query(TABLE_NAME, columns, COL_SandFavor
                            + " LIKE ? And " + COL_SanTitle + " LIKE ?",
                            new String[] { Type2, value }, null, null,
                            COL_SanTitle + " ASC");

                    return cursF;

                }
            });

            dAdapter.setFilterQueryProvider(new FilterQueryProvider() {
                public Cursor runQuery(CharSequence constraint) {

                    String value = "%" + constraint + "%";
                    String Type2 = "%" + jype + "%";

                    cursD = mDb.query(TABLE_NAME, columns, COL_SanTitle
                            + " LIKE ? And " + COL_SanCat + " LIKE ?",
                            new String[] { value, Type2 }, null, null,
                            COL_SanTitle + " ASC");

                    cursD.moveToFirst();

                    return cursD;

                }

            }

            );




            fAdapter.getFilter().filter(s.toString());
            mAdapter.getFilter().filter(s.toString());
            dAdapter.getFilter().filter(s.toString());



            mAdapter.notifyDataSetChanged();
            fAdapter.notifyDataSetChanged();
            dAdapter.notifyDataSetChanged();
            mList.setAdapter(mAdapter);
            fList.setAdapter(fAdapter);
            dList.setAdapter(dAdapter);


            cursD.moveToFirst();
            cursS.moveToFirst();
            curs.moveToFirst();

        }
    });
以下是Logcat错误:

04-26 18:56:50.310:E/AndroidRuntime878:致命异常:主 04-26 18:56:50.310:E/AndroidRuntime878:android.database.CursorIndexOutOfBoundsException:请求索引-1,大小为1 04-26 18:56:50.310:E/AndroidRuntime878:at-android.database.AbstractCursor.checkPositionAbstractCursor.java:580 04-26 18:56:50.310:E/AndroidRuntime878:at android.database.AbstractWindowedCursor.checkPositionAbstractWindowedCursor.java:214 04-26 18:56:50.310:E/AndroidRuntime878:at android.database.AbstractWindowedCursor.getStringAbstractWindowedCursor.java:41 04-26 18:56:50.310:E/AndroidRuntime878:at master.chef.mediamaster.Interface.onItemClickInterface.java:781 04-26 18:56:50.310:E/AndroidRuntime878:at-android.widget.AdapterView.performItemClickAdapterView.java:284 04-26 18:56:50.310:E/AndroidRuntime878:at android.widget.ListView.performItemClickListView.java:3513 04-26 18:56:50.310:E/AndroidRuntime878:at android.widget.AbsListView$PerformClick.runAbsListView.java:1812 04-26 18:56:50.310:E/AndroidRuntime878:at android.os.Handler.handleCallbackHandler.java:587 04-26 18:56:50.310:E/AndroidRuntime878:at android.os.Handler.dispatchMessageHandler.java:92 04-26 18:56:50.310:E/AndroidRuntime878:at android.os.Looper.Looper.java:123 04-26 18:56:50.310:E/AndroidRuntime878:at android.app.ActivityThread.mainActivityThread.java:3683 04-26 18:56:50.310:E/AndroidRuntime878:at java.lang.reflect.Method.invokenactive方法 04-26 18:56:50.310:E/AndroidRuntime878:at java.lang.reflect.Method.invokeMethod.java:507 04-26 18:56:50.310:E/AndroidRuntime878:com.android.internal.os.ZygoteInit$MethodAndArgsCaller.runZygoteInit.java:839 04-26 18:56:50.310:E/AndroidRuntime878:at com.android.internal.os.ZygoteInit.mainZygoteInit.java:597 04-26 18:56:50.310:E/AndroidRuntime878:at dalvik.system.NativeStart.main本地方法


您启动了另一个活动,这样就打开了要删除的前一个活动,听起来好像是这样。要解决此问题,请将列表生成代码移动到onResume,然后在您转到另一个活动并返回时,以及在您最初启动该活动时,该代码将运行。

是的,它已在onResume中。因此,当从其他活动返回时,应该刷新它。没有意义的是,我有一个listview可以从三个listview正常工作,这三个listview是mList。每当我打开任何条目并再次返回listview时,它都不会显示错误。我现在在查询筛选中的listview也面临同样的问题。我尝试将cusrsor移到第一个,但它仍然是一样的,越界异常。我已经编辑了我的代码,以便在简历中查看并添加moveToFirst-in-on-ResumeSThankss-Imran,就是这样:有任何线索吗???我仍然面临着与下面相同的问题