如何在android中动态添加和删除不同的视图持有者(比如2个视图持有者)?
我正在尝试使用recycler视图创建时间线。我需要在运行时动态添加和删除两种不同类型的viewholder(注意:不是数据“viewholder!”)。 每个viewholder代表一组不同的数据和布局。如何在android中动态添加和删除不同的视图持有者(比如2个视图持有者)?,android,android-recyclerview,android-viewholder,Android,Android Recyclerview,Android Viewholder,我正在尝试使用recycler视图创建时间线。我需要在运行时动态添加和删除两种不同类型的viewholder(注意:不是数据“viewholder!”)。 每个viewholder代表一组不同的数据和布局。 帮我解决这个问题。一个解决办法是将两个(所有)较小的项目添加到一个项目中,就像这样 <OuterLayout android:style="@style/yourStyle"> <InnerLayout android:style="@sty
帮我解决这个问题。一个解决办法是将两个(所有)较小的项目添加到一个项目中,就像这样
<OuterLayout
android:style="@style/yourStyle">
<InnerLayout
android:style="@style/innerStyle1"
...interior elements i.e. text views/buttons/>
<InnerLayout2
android:style="@style/innerStyle2"
...interior elements i.e. text views/buttons/>
</OuterLayout>
您需要从适配器执行的所有操作就是在不需要的适配器上调用minimize。您还需要一个相应的expand()函数,因为RecyclerView是如何回收视图的。您可能需要更改上面的功能以适应您的布局。视图持有者只是屏幕上数据位置的表示,您希望如何隐藏它而不是从列表中删除数据?我相信还有很多其他方法可以做到这一点,但这似乎是最有效的方法。很高兴它对你有用!
public static void minimize(LinearLayout layout){
LinearLayout.LayoutParams size = new LinearLayout.LayoutParams(0,0);
layout.setLayoutParams(size);
}