以下是RecyclerView
onBindViewHolder
方法的代码。
在回收站视图中,我正在动态创建一个按钮,如下所示。
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
.
.
.
Button button1 = new Button(context);
holder.phoneContainer.addView(button1);
}
当我在设备中滚动应用程序时(在真实设备中运行时),再次创建按钮。
应该在每个cardview
中附加1个按钮,但是当我滚动按钮时会创建。
以任何方式删除views
或
holder.phoneContainer
只创建一次?
答案 0 :(得分:2)
您应该删除容器内的视图并添加按钮。
holder.phoneContainer.removeAllViews();
Button button1 = new Button(context);
LinearLayout.LayoutParams params = new LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
holder.phoneContainer..addView(button1, params);
答案 1 :(得分:1)
如果View
内只有一个phoneContainer
,你可以这样做:
holder.phoneContainer.removeAllViews();
holder.phoneContainer.addView(button1);