删除动态单选按钮

时间:2011-10-09 15:46:40

标签: android

有没有人有一种快速简便的方法可以从Android中的线性布局中删除动态添加的按钮?它们似乎保存在保存的实例状态中,当我返回活动时我不想要它们。

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码清除线性布局中的所有视图:

LinearLayout myLayout = (LinearLayout)findViewById(R.id.your_linear_layout);
myLayout.removeAllViews();

但是,如果您希望仅删除动态添加的视图(并且您的视图中没有视图),则无效。

如果你需要这样做,你可以做这样的事情

        LinearLayout l = (LinearLayout)findViewById(R.id.linearLayout);
        List<View> removeViews = new ArrayList<View>();
        int count = l.getChildCount();
        for (int i = 0; i < count; i++) {
            View v = l.getChildAt(i);
            if (v != null && v.getTag() != null
                    && v.getTag().toString().equals("dynamicView")) {
                removeViews.add(v);
            }
        }

        for (View v : removeViews) {
            l.removeView(v);
        }

请注意v.getTag()!= null&amp;&amp; v.getTag()。toString()。equals(“dynamicView”)部分。您不必这样做,但是,这将是一种区分您添加的视图和静态创建的视图的简单方法。

编辑,以便在创建需要调用view.setTag(“dynamicView”)的视图时使其正常工作;当然