我的应用程序存在问题 我有这样的代码
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
我该怎么做才能修复这个?谢谢:)
答案 0 :(得分:0)
试试这个:
//assuming that you have fetched the data using cursor:
byte[] image1 = cursor.getBlob(cursor.getColumnIndexOrThrow("image_data"));
imageView1.setImageBitmap(BitmapFactory.decodeByteArray(image1, 0, image1.length));
答案 1 :(得分:0)
最好在数据库中存储图像路径而不是图像。使用存储在数据库中的图像路径访问这些图像。