Указатель курсора вне fBounds Исключение: запрошен индекс 11 размером 11 - PullRequest
0 голосов
/ 05 октября 2018

Я сталкивался с одной проблемой случайно, всякий раз, когда пытался получить getSelectedCustomerPhone (), тогда случайным образом появлялся указатель курсора из Bound Exception.Что-то не так с этим кодом?Я не смог найти ошибку.

private String getSelectedCustomerPhone() {

        myCursor.moveToPosition(selectedCustPosition);

        String phone = 
               myCursor.getString(myCursor.getColumnIndex("cust_phone"));
        if (phone != null) return phone;
        return "";
    }

1 Ответ

0 голосов
/ 05 октября 2018

Кажется, что selectedCustPosition находится вне диапазона курсора [0, Cursor.getCount () - 1].Попробуйте понять, почему это происходит.В качестве обходного пути предотвращения сбоя вы можете добавить проверку

if (0 <= selectedCustPosition && selectedCustPosition < myCursor.getCount()) {
   myCursor.moveToPosition(selectedCustPosition);
   // ...
}

Но это только обходной путь, который, скорее всего, вернет неправильный номер телефона.Лучше понять реальную проблему: почему selectedCustPosition неверно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...