![](/img/trans.png)
[英]How to fix an android 'IllegalStateException' error?
[英]how to fix an “IllegalStateException” error?
我想問一下為什么它不起作用,所以下次我可以更好地幫助自己。 如何修復android studio中的IllegalStateException
錯誤。 從數據庫中檢索數據時出現此錯誤。 我收到的錯誤是一個非法狀態異常,如下所述。
致命異常:java.lang.IllegalStateException無法從CursorWindow讀取行6023,列0。 在從游標訪問數據之前,請確保正確初始化了游標。 com.navdemo.ui.forms.FormDetailViewModel $ 10.run
代碼,我得到這個錯誤是:
private void initScansForForm() {
if (form == null) {
return;
}
final String formId = form.getFormId();
new Thread() {
public void run() {
List<Scan> scans = new ArrayList<>();
Cursor c = db.fetchFormScans(formId);
int id = 0;
while (c.moveToNext()) {
if (!c.isNull(0)){
id = c.getInt(0);
}
else {
Log.d(TAG, "run: "+id);
}
int formId = c.getInt(1);
String scanTime = c.getString(2);
String locationName = c.getString(3);
double latitude = c.getDouble(4);
double longitude = c.getDouble(5);
scans.add(new Scan(id, formId, scanTime, locationName, latitude, longitude));
}
setScans(scans);
}
}.start();
}
public Cursor fetchFormScans(@NonNull String formId) {
return fetchFormScans(Integer.parseInt(formId));
}
public Cursor fetchFormScans(@NonNull String formId) `enter code here`{
return fetchFormScans(Integer.parseInt(formId));
}
嘗試在執行moveToNext
之前檢查!cursor.isAfterLast()
請確保您在字符串中得到一個數字formId = form.getFormId(); 由於您的fetchFormScans()方法將字符串formId解析為整數,因此如果formId中包含字母,可能會出現問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.