Java android删除视图中的所有按钮

Java android删除视图中的所有按钮,java,android,Java,Android,我有一个LinearLayout,我将许多新按钮对象循环到其中。如何正确地清除该div(如移除所有按钮)?我已经尝试了很多次(都没有成功),但是没有任何结果 **编辑** 我不确定这是否有帮助,但在flex/AS3中,我会做如下操作: while(myView.numChildren) myView.removeChildAt(0); **一点代码** View col1 = findViewById(R.id.col1); for(final Map.Entry<String,Hash

我有一个
LinearLayout
,我将许多
新按钮
对象循环到其中。如何正确地清除该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);
    }
}
View col1=findviewbyd(R.id.col1);
对于(最终映射项:_nav.entrySet()){
按钮项=新按钮(此按钮);
item.setText(entry.getKey());
item.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
openCol2(条目);
}
});
((线性布局)col1).添加视图(项目);
}
私有最终作废openCol2(Map.Entry){
视图col2=findViewById(R.id.col2);
//这是我想要清除col2的地方。在我添加更多按钮之前。
对于(int i=0;i<_nav.size();++i){
按钮项=新按钮(此按钮);
//item.setText(entry.getKey());
((线性布局)col2).添加视图(项目);
}
}
试试这个

LinearLayout col2 = (LinearLayout)findViewById(R.id.col2);
col2.removeAllViews();
假设:R.id.col2是LinearLayout类型else,使其更通用,并将其转换为ViewGroup。希望这有帮助

试试这个

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

假设:R.id.col2是LinearLayout类型else,使其更通用,并将其转换为ViewGroup。希望这有帮助

我从您的问题中了解到,您希望从线性布局中删除所有视图(按钮)……如果这是您想要的,那么您是否尝试了removeAll方法??这里是@Jackon,请发布您的代码。另外,您是使用布局文件,还是以编程方式构建视图?@gopal我只看到
removeCallbacks
removeOnLayoutChangeListener
的方法,只要删除即可@菲尔:我刚刚在描述中添加了代码。希望这会有所帮助。我从您的问题中了解到,您希望从线性布局中删除所有视图(按钮)……如果这是您想要的,那么您是否尝试了removeAll方法??这里是@Jackon,请发布您的代码。另外,您是使用布局文件,还是以编程方式构建视图?@gopal我只看到
removeCallbacks
removeOnLayoutChangeListener
的方法,只要删除即可@菲尔:我刚刚在描述中添加了代码。希望能有帮助。像冠军一样工作。谢谢gopal。@gopal,如果我想在.removeAllViews()之后添加所有视图?你怎么能这么做?像冠军一样工作。谢谢gopal。@gopal,如果我想在.removeAllViews()之后添加所有视图?你怎么能这么做?