[英]Convert Int to ImageView
这是一些代码:
public class Article {
(...)
private static int[] sImages = { R.drawable.ic_picture};
private ImageView mImage;
public Article(int a)
{
mImage = sImages[a];
}
在: mImage = sImages[a];
有此错误:
不兼容的类型
必需:android.wiget.ImageView
找到:整数
如何将int转换为android.widget.ImageView或类似的东西?
(我创建了RecyclerView,并且其中包含很多ImageView,并且我希望这些ImageView包含带有图像的列表。)
您可以使用setImageResource
。 当您调用您的Article类时,也要传递视图。
private static int[] sImages = { R.drawable.ic_picture};
private ImageView mImage;
public Article(int a, View view)
{
mImage = (ImageView) view.findViewById(R.id.image);
mImage.setImageResource(sImages[a]);
}
如果有列表,则必须编写一个RecyclerAdapter类来保存和设置列表项。
您的代码块显示了应该与相应图像一起附加到RecyclerView
的Article
类,这是我从您的问题中得出的假设。 在您的评论中
for (int i = 0; i < 30; ++i) { articles.add(new Article(i))}
int
来获取Article class
中该数组索引处的id,而您在对象类中不应具有static
图像数组。 更改您的Article
类,使其看起来像这样:
public class Article {
...
int imageID;
public Article(int imageID) {
this.imageID = imageID;
}
public int getImageID() {
return imageID;
}
...
}
现在,当您遍历并添加文章时,它应该像这样:
for (int i = 0; i < imageIDArray.length; i++) {
articles.add(new Article(imageIDArray[i]);
}
现在,一旦您进入RecyclerView
的onBindViewHolder()
方法,就可以将imageID
设置为imageIDArray
任何值,然后可以通过使用轻松地设置正确的图像
setImageDrawable(ContextCompat.getDrawable(context, article(i).getImageID));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.