2014-05-16 3 views
1
E/AndroidRuntime(10638): android.database.CursorIndexOutOfBoundsException: Index 133 requested, with a size of 133 
E/AndroidRuntime(10638): at android.database.AbstractCursor.checkPosition(AbstractCursor.java:426) 
E/AndroidRuntime(10638): at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136) 
E/AndroidRuntime(10638): at android.database.AbstractWindowedCursor.getLong(AbstractWindowedCursor.java:74) 
E/AndroidRuntime(10638): at android.database.CursorWrapper.getLong(CursorWrapper.java:106) 
E/AndroidRuntime(10638): at android.database.CursorWrapper.getLong(CursorWrapper.java:106) 
E/AndroidRuntime(10638): at com.android.email.activity.MessagesAdapter.isNoResultView(MessagesAdapter.java:375) 
E/AndroidRuntime(10638): at com.android.email.activity.MessagesAdapter.getItemViewType(MessagesAdapter.java:443) 
E/AndroidRuntime(10638): at android.widget.HeaderViewListAdapter.getItemViewType(HeaderViewListAdapter.java:234) 

이상한 것은의 크기, 요청이 getItemViewType, 우리는 moveToPosition(int pos)를 사용하여 커서를 얻을 수 있다는 것입니다. 이는 커서가 범위를 벗어나지 않았 음을 의미합니다. 우리가 그것에 접근하려고 할 때 커서가 바뀌었을 가능성이 있습니까? 그렇다면 어떻게 커서를 차단해야합니까? 열 수와 이름은 당신의 기대와 일치android.database.CursorIndexOutOfBoundsException : 인덱스 133 (133)

확인하면 ...

답변

0

하드는 로그 캣에 따라 코드를 보지 않고 대답하지만 당신이하지 않는 존재하는 열을 액세스하려고 할 때 오류가 제공됩니다.

버전 등을 변경하지 않고 db를 변경했을 수 있습니다. 따라서 보안상의 측면에서 제안을 제거하면 코드에서 DB 이름을 변경하고 오류가 다시 발생하는지 다시 확인할 수 있습니다.

도움이 되시길 바랍니다 .... thx

관련 문제