像我saome問題,我的應用程序 我有這樣顯示從數據庫SQLite的
Cursor cur=helper.getGamb(almagId);
cur.moveToFirst();
if(cur.getString(1).equals("")){
detGam.setImageResource(R.drawable.gambarnf);
}else detGam.setImageDrawable(Drawable.createFromPath(cur.getString(1)));
return Drawable.createFromPath(cur.getString(1));
代碼,但我有這樣
02-14 14:02:16.623: ERROR/AndroidRuntime(16468): Caused by: android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
02-14 14:02:16.623: ERROR/AndroidRuntime(16468): at android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)
02-14 14:02:16.623: ERROR/AndroidRuntime(16468): at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:214)
02-14 14:02:16.623: ERROR/AndroidRuntime(16468): at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:41)
02-14 14:02:16.623: ERROR/AndroidRuntime(16468): at com.sat.alfaloc.Detail.load(Detail.java:186)
02-14 14:02:16.623: ERROR/AndroidRuntime(16468): at com.sat.alfaloc.Detail.onCreate(Detail.java:100)
02-14 14:02:16.623: ERROR/AndroidRuntime(16468): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-14 14:02:16.623: ERROR/AndroidRuntime(16468): ... 11 more
我應該怎麼做錯誤修復呢? ?謝謝:)
首先你需要檢查光標的計數。請使用cur.getCount()方法並查看光標中有多少條記錄。因爲您的錯誤發生,因此可能是光標中沒有記錄。 – 2012-02-14 07:18:39