Вашего блок кода показывает Article
класса, который должен быть присоединен к RecyclerView
с соответствующим изображением, является то, что я полагаю, из вашего вопроса. В комментариях у вас есть
for (int i = 0; i < 30; ++i) { articles.add(new Article(i))}
- Вы устанавливаете 30 как жесткий кодированный предел вместо этого вы должны установить его на размер вашего массива ID изображения.
- Вы знаете, что вы приращение индекса, прежде чем добавить статью, которая заставит вас потерять на ид по индексу 0.
- Все это делает пройти
int
через конструктор, чтобы захватить идентификатор в этом индексе массива в вашем Article class
вы не должны иметь массив изображений 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]);
}
Теперь вы устанавливаете imageID
, независимо от того, какое значение находится в вашем imageIDArray
, как только вы находитесь в методе onBindViewHolder()
вашего RecyclerView
, вы можете легко установить правильное изображение с помощью
setImageDrawable(ContextCompat.getDrawable(context, article(i).getImageID));
Что вы пытаетесь достичь? –
Почему вы хотите преобразовать int в ImageView? –
Старайтесь усерднее задавать вопросы. Потратьте минутку, чтобы исправить грамматику и орфографию. – sp0rk