У меня есть 700 изображений в Drawable, и у меня есть список имен изображений, и мне нужно программно загрузить его в представление изображений
Изображение находится в формате webp и менее 100 КБ
изображения в представлении ресайклера
где находится неправильный
Java-код
Drawable drawable = mContext.getResources().getDrawable(mContext.getResources().getIdentifier(mData.get(position).getImage(), "drawable", mContext.getPackageName()));
holder.image.setImageDrawable(drawable);
Макет
<ImageView
android:id="@+id/fish_image"
android:layout_width="match_parent"
android:scaleType="fitXY"
android:minWidth="100dp"
android:minHeight="100dp"
android:background="#ffffff"
android:layout_height="wrap_content"
/>
У меня есть 700 изображений в Drawable, и у меня есть список имен изображений, и мне нужно программно загрузить их в представление изображений. Есть ли какое-либо другое решение?
Обновите, это сработало
я переместил изображение в папку Assets и загрузил его оттуда
try {
// get input stream
InputStream ims = mContext.getAssets().open(mData.get(position).getImagename()+".webp");
// load image as Drawable
Drawable d = Drawable.createFromStream(ims, null);
// set image to ImageView
holder.image.setImageDrawable(d);
ims .close();
}
catch(IOException ex)
{
Log.e("image_io",ex.getMessage()+"");
// return;
}
getIdentifier()
там возвращает? Что возвращаетgetImage()
? У вас действительно есть доступный ресурс с таким именем, применимый к текущей конфигурации? Что произойдет, если вы временно используете значениеR.drawable
? Если на то пошло, почему бы вам просто не использовать значенияR.drawable
в вашей модели данных для начала? - person Mike M.   schedule 12.08.2018