2011-10-09 92 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」)的視圖工作;當然是