我有一个RecyclerView
,从数组加载帖子列表。有时帖子会有一个图像URL,我想在ViewHolder
中显示图像,如果它有一个。我真的很想重用相同的布局文件,以便更改很容易使和张贴容器看起来相同。最好的方法是什么?我有三个解决办法。
-
在
ViewHolder
的布局文件中创建一个ImageView
,高度为0dp,如果需要加载图像,可以更改高度 -
为图片帖子创建一个单独的布局文件,并在需要加载图像时使用该文件。我不喜欢这样,因为如果我更改其他类型的帖子,我也必须更改图片帖子,使它们看起来一样。
-
以编程方式创建
ImageView
,并使用ConstraintLayout.LayoutParams
来调整约束。我不喜欢这个,因为它看起来很容易坏,很难修复。
是否有比我列出的更好的解决方案?
-
让
ImageView
在你的xml文件的高度和宽度为wrap_content
。当图像可用时显示图像,否则不可见。 -
检查字符串url是否为空设置imageviews可见性为
当String url为空时,设置android:visibility="visible"
。ImageView
可见性为android:visibility="gone"
。