如何在 android 中动态添加和删除不同的 viewholders(比如 2 个 viewholders)?
How to add and remove different viewholders (say 2 viewholders) dynamically in android?
我正在尝试使用回收器视图创建时间轴。我需要在运行时动态添加和删除 2 种不同类型的 viewholder(注意:不是数据,"ViewHolder!")。
每个 viewholder 代表一组不同的数据和布局。
帮我解决这个问题。
一种解决方法是像这样将两个(所有)较小的项目添加到一个项目中。
<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() 函数。您可能必须更改上面的功能才能为您的布局工作。
我正在尝试使用回收器视图创建时间轴。我需要在运行时动态添加和删除 2 种不同类型的 viewholder(注意:不是数据,"ViewHolder!")。 每个 viewholder 代表一组不同的数据和布局。 帮我解决这个问题。
一种解决方法是像这样将两个(所有)较小的项目添加到一个项目中。
<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() 函数。您可能必须更改上面的功能才能为您的布局工作。