我有一个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);
}
}
答案 0 :(得分:8)
试试这个
LinearLayout col2 = (LinearLayout)findViewById(R.id.col2);
col2.removeAllViews();
假设:R.id.col2属于LinearLayout类型,以使其更通用地将其转换为ViewGroup。希望这有帮助!!!