Android 如何处理在回收器视图中创建的动态视图

Android 如何处理在回收器视图中创建的动态视图,android,android-recyclerview,android-adapter,Android,Android Recyclerview,Android Adapter,事实上,我正在制作RecyclerView,它显示了一些细节和图像,所有数据都来自数据库 在我的RecyclerView中,我使用了三个不同的布局,每个布局都是根据来自数据库的数据使用的,这意味着如果只有一个图像来自数据库,那么one_image.xml布局就开始发挥作用,如果有两个,则使用两个imag.xml,如果超过三个,则使用我正在使用的第三个布局 我的应用程序在某些范围内运行良好,但当我试图向下滚动时,它会崩溃。我知道问题出在OnCreateViewHolder上,这意味着当我在Recy

事实上,我正在制作
RecyclerView
,它显示了一些细节和图像,所有数据都来自数据库

在我的
RecyclerView
中,我使用了三个不同的布局,每个布局都是根据来自数据库的数据使用的,这意味着如果只有一个图像来自数据库,那么
one_image.xml
布局就开始发挥作用,如果有两个,则使用两个imag.xml,如果超过三个,则使用我正在使用的第三个布局

我的应用程序在某些范围内运行良好,但当我试图向下滚动时,它会崩溃。我知道问题出在
OnCreateViewHolder
上,这意味着当我在Recycler视图中进一步查看时,它不会被调用

我在谷歌上搜索了很多东西,但没有找到适合我的。是否可以每次调用OnCreateViewHolder
OnCreateViewHolder
或以其他方式解决此问题


提前感谢

听起来最好的选择是使用一个布局文件,其中包含所有三个图像视图,但只是将它们默认为可见性“消失”,这样它们就不会占用空间。然后,当您需要使用它们时,请在创建viewholder时将其设置为可见性“可见”。

在看不到任何实际代码的情况下,很难做到更具体。

为什么不直接使用单一的自定义XML呢?只需在类中包含逻辑,隐藏/显示元素,并以编程方式分配其他属性?i、 e.imageView.setLayoutParams(新的LayoutParams(LayoutParams.MATCH_父级,LayoutParams.MATCH_父级));记住,这只是一个建议……好吧,让我们检查一下,如果您想在滚动时为每个项目调用
onCreateViewHolder
,您不知道
RecyclerView
应该做什么。