Кто-нибудь может попытаться найти ошибку в моем коде? Я уже много чего пробовал, но всегда получается одна и та же ошибка.

Это мой код:

                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
-1
Justine 30 Дек 2017 в 15:10

2 ответа

Лучший ответ

Сначала убедитесь, что ваш курсор не равен нулю и в нем есть необходимое количество элементов.

Помните, moveToPosition (1) возвращает вторую строку, так как она имеет нулевой индекс

1
Mahesh_Loya 30 Дек 2017 в 12:22

Вероятно, вам следует сначала преобразовать это в строку, используя String userIdString = userid.toString; если возможно.

Тогда вы можете использовать userIdString.substring(1,2);

0
Canato 30 Дек 2017 в 12:21