无法解析符号长度

时间:2017-08-25 03:43:28

标签: java android arrays image bitmapfactory

我想从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);

2 个答案:

答案 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。