2011-10-09 80 views
0

有没有人有一种快速简便的方法来从Android中的线性布局中删除动态添加的按钮?他们似乎被保存在已保存的实例状态中,当我返回活动时,我不希望他们。删除动态单选按钮

回答

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 & & v.getTag()。的toString()。等于( “dynamicView”)部分。您不必这样做,但是,这将是区分添加的视图和静态创建的视图的简单方法。

编辑为了这个,当你创建你需要调用view.setTag(“dynamicView”)的视图工作;当然是