如何在android中删除水平视图的子项

时间:2015-01-13 07:57:34

标签: android horizontalscrollview

我面对的不是删除水平视图中的孩子。如果已经有水平视图的子项,则删除或删除,如果不是子项,则addview。请看代码,我做了什么。但为什么这不起作用。

结果:它在horizo​​ntall布局中附加了上一个视图。

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);
    }

1 个答案:

答案 0 :(得分:4)

HorizantalScrollView只包含一个child view,该孩子可能addremove孩子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);
    }