Android: 显示来自 2 个不同来源的 ImageView
Android: Display ImageView from 2 different sources
我希望根据包含数据的源来填充图像视图。 holder.imgImage 可以有位图源或可绘制路径,但我只希望显示一个,具体取决于存在的图像。我试过 if (image !=null) 但似乎不起作用。
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.myTextView1.setText(categoryList.get(position).getRecipe_name());
holder.myTextView2.setText(categoryList.get(position).getCategory_name());
String image2 = categoryList.get(position).getImage2();
Bitmap myBitmap = BitmapFactory.decodeFile(image2);
holder.imgImage.setImageBitmap(myBitmap);
holder.imgImage.setImageResource(categoryList.get(position).getImage());
}
也许检查是否已创建 Bitmap
不是 null
?
Bitmap myBitmap = BitmapFactory.decodeFile(image2);
if (myBitmap != null)
holder.imgImage.setImageBitmap(myBitmap);
else
holder.imgImage.setImageResource(categoryList.get(position).getImage());
可能会有 getImage2()
returns null
或空字符串的情况?
String image2 = categoryList.get(position).getImage2();
Bitmap myBitmap = (image2 != null && image2.length()) > 0 ?
BitmapFactory.decodeFile(image2) : null;
我希望根据包含数据的源来填充图像视图。 holder.imgImage 可以有位图源或可绘制路径,但我只希望显示一个,具体取决于存在的图像。我试过 if (image !=null) 但似乎不起作用。
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
holder.myTextView1.setText(categoryList.get(position).getRecipe_name());
holder.myTextView2.setText(categoryList.get(position).getCategory_name());
String image2 = categoryList.get(position).getImage2();
Bitmap myBitmap = BitmapFactory.decodeFile(image2);
holder.imgImage.setImageBitmap(myBitmap);
holder.imgImage.setImageResource(categoryList.get(position).getImage());
}
也许检查是否已创建 Bitmap
不是 null
?
Bitmap myBitmap = BitmapFactory.decodeFile(image2);
if (myBitmap != null)
holder.imgImage.setImageBitmap(myBitmap);
else
holder.imgImage.setImageResource(categoryList.get(position).getImage());
可能会有 getImage2()
returns null
或空字符串的情况?
String image2 = categoryList.get(position).getImage2();
Bitmap myBitmap = (image2 != null && image2.length()) > 0 ?
BitmapFactory.decodeFile(image2) : null;