[英]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.