android删除视图中的所有按钮

时间:2011-07-31 02:18:46

标签: java android

我有一个LinearLayout,我已将多个new Button个对象循环到其中。如何正确清除div(例如删除所有按钮)?我已经尝试了很多次(不成功)这样做,但没有任何东西可以显示它。

**编辑**

我不确定这是否有帮助,但在flex / AS3中,我会做类似的事情:

while(myView.numChildren) myView.removeChildAt(0);

**一点代码**

View col1 = findViewById(R.id.col1);
for(final Map.Entry<String,HashMap<String,String>> entry : _nav.entrySet()) {
    Button item = new Button(this);
    item.setText(entry.getKey());
    item.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            openCol2(entry);
        }
    });
    ((LinearLayout) col1).addView(item);
}

private final void openCol2(Map.Entry<String,HashMap<String,String>> entry) {
    View col2 = findViewById(R.id.col2);
    // here is where I want to clean out col2. Right before I add more buttons.

    for(int i = 0; i < _nav.size(); ++i) {
        Button item = new Button(this);
        //item.setText(entry.getKey());
        ((LinearLayout) col2).addView(item);
    }
}

1 个答案:

答案 0 :(得分:8)

试试这个

LinearLayout col2 = (LinearLayout)findViewById(R.id.col2);
col2.removeAllViews();

假设:R.id.col2属于LinearLayout类型,以使其更通用地将其转换为ViewGroup。希望这有帮助!!!