我想从SQLite中检索图像列表。
这是我的' getImage()'方法
public List<byte[]> getImage(int i) {
List<byte[]> list = new ArrayList<>();
String selectImage = "SELECT VocabImage FROM Vocab WHERE VocabTopic =" + i;
Cursor c = database.rawQuery(selectImage, null);
if(c.moveToFirst())
do{
list.add(c.getBlob(c.getColumnIndex("VocabImage")));
}while(c.moveToNext());
c.close();
return list;
}
这是我的java类,我想调用我的getImage()方法。但是有一个错误说它无法解决符号长度问题。在BitmapFactory行中的(data.length)。任何人都知道如何解决这个问题?谢谢。
Intent intent = getIntent();
int topicId = intent.getIntExtra("SelectedTopicId", 1);
databaseAccess.open();
List<byte[]>data = databaseAccess.getImage(topicId);
Bitmap image = BitmapFactory.decodeByteArray(data, 0, data.length);
imageView.setImageBitmap(image);
答案 0 :(得分:1)
Bitmap image = BitmapFactory.decodeByteArray(data, 0, data.length);
更改为
Bitmap image = BitmapFactory.decodeByteArray(data.get(position), 0, data.get(position).length); // pass position for which you want length.
答案 1 :(得分:0)
你需要改变这样:list.get(0).length for get image at index 0。