为什么我的代码出现这样的错误? CursorIndexOutOfBoundsException

时间:2017-12-30 12:10:53

标签: java android cursor indexoutofboundsexception toast

是否有人可以尝试在我的代码中找到错误?我已经尝试了很多东西,但它总是会出现同样的错误。

这是我的代码:

                String signeedep = spn.getSelectedItem().toString();
                int a = spn1.getSelectedItemPosition();
                Cursor userid = db.getallsigneenumber();

                    userid.moveToPosition(a);
                    Toast.makeText(getApplicationContext(),
                             userid.getString(1) + "//this is where the error points out
                             was assigned to the " + signeedep + ".",Toast.LENGTH_SHORT).show();

                    userid.close();
                /*
                db.open();
                db.insertAssignsignee(signeedep, userid.getString(0));
                db.close();
                */
                    myMethod();

这是我的错误:

FATAL EXCEPTION: main

android.database.CursorIndexOutOfBoundsException: Index 1 requested, with a size of 1

2 个答案:

答案 0 :(得分:1)

首先确保光标不为空,并且它中包含所需的元素数量。

记得moveToPosition(1)返回第二行,因为它是零索引

答案 1 :(得分:0)

可能你应该首先将它转换为String,使用     String userIdString = userid.toString; 如果可能的话。

然后您可以使用userIdString.substring(1,2);