我面对的不是删除水平视图中的孩子。如果已经有水平视图的子项,则删除或删除,如果不是子项,则addview。请看代码,我做了什么。但为什么这不起作用。
结果:它在horizontall布局中附加了上一个视图。
first time:
Horizontalview
1 4 7
second time
Horizontalview
1 4 7 6 0 7 8
但我想要
second time
Horizontalview
6 0 7 8
third time
Horizontalview
2 9 5
我的代码
if(horizontalScrollview.getChildCount()>0){
horizontalScrollview.removeAllViews();
horizontalScrollview.addView(dataLayout);
}else {
horizontalScrollview.addView(dataLayout);
}
答案 0 :(得分:4)
HorizantalScrollView
只包含一个child view
,该孩子可能add
或remove
孩子views
,请尝试以下操作:
if (horizontalScrollview.getChildCount() > 0) {
horizontalScrollview.removeAllViews();
horizontalScrollview.addView(dataLayout);
} else {
horizontalScrollview.addView(dataLayout);
}
到
ViewGroup parentLayout = (ViewGroup) horizontalScrollview.getChildAt(0);
if (parentLayout.getChildCount() > 0) {
for (int i = 0; i < parentLayout.getChildCount(); i++) {
parentLayout.removeView(parentLayout.getChildAt(i));
}
} else {
parentLayout.addView(dataLayout);
}