我正在尝试使用回收者视图创建时间轴。我需要在运行时动态添加和删除2种不同类型的Viewholder(注意:不是数据“ ViewHolder!”)。 每个视图持有者代表一组不同的数据和布局。 帮我解决这个问题。
答案 0 :(得分:0)
一种解决方法是将两个(所有)较小的项目添加到一个项目中。
<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>
在您的Java代码中,您只需要一个像这样的函数
public static void minimize(LinearLayout layout){
LinearLayout.LayoutParams size = new LinearLayout.LayoutParams(0,0);
layout.setLayoutParams(size);
}
您需要从适配器执行的所有操作是对不需要的调用最小化。由于RecyclerView如何回收视图,因此您还需要一个相应的expand()函数。您可能需要更改上面的功能才能适合您的布局。