我有一个位图列表,我想将第一个项目设置为imageview。到目前为止我试过这个:
ivHeader.setImageBitmap((Bitmap) data.BitmapList.toArray()[1]);
然而,抛出了多个错误,看起来我的方法不正确。在其他问题中,我已经看到已经创建了图像适配器,然后用它们来设置位图。但是,我在这里看看我的方法是否正确,或者是否有一个稍微类似的方法,不涉及我生成图像适配器。
使用图片适配器的类似问题:How to set ImageView using Bitmap Array
将位图设置为getArticle类中的位图列表:
public ArrayList<Bitmap> BitmapList = new ArrayList<Bitmap>();
Bitmap bitmap = null;
try {
for(int x = 1; x < 6; x++){
bitmap = BitmapFactory.decodeStream((InputStream) new URL(json.getString("Picture" + x + "URL")).getContent());
BitmapList.add(bitmap);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
在活动中将位图设置为imageview:
ivHeader = (ImageView)findViewById(R.id.ivHeader);
getArticle data = getArticle.getMyData();
ivHeader.setImageBitmap(data.BitmapList.get(1));
答案 0 :(得分:1)
似乎
ivHeader.setImageBitmap(BitmapList.get(1));
是你想要的。
另外两个建议:
将BitmapList
更改为bitmapList
。传统的做法是用小写字母开始变量名称。
getArticle data = getArticle.getMyData();
看起来不对。您正在尝试将getArticle
用作类名和变量名。我不确定你要做什么,所以我没有任何具体的建议。但是,首先,您需要了解一个类和一个引用之间的区别。