以编程方式删除按钮

时间:2013-04-01 21:36:43

标签: java android button

在我的代码中,我以编程方式创建按钮,因为在解析文件之前我不知道需要多少按钮

buttons= new LinkedList<Button>();
    for(int i=0; i< aList.size();i++)
    {
        Button btn = new Button(this);
        btn.setId(i);
        btn.setOnClickListener(this);
        btn.setText(stringList.get(i));
        btn.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
        buttons.add(btn);
        layout.addView(btn);
    }

这很好用,我只是想知道在创建更多按钮之前是否有快速删除所有这些按钮的方法(当用户按下一个单独的按钮时,我将按钮的值更改为新按钮)

3 个答案:

答案 0 :(得分:8)

用另一个for循环

解决了这个问题
for(int i=0; i< aList.size();i++)
    {
        Button btn;
        btn = buttons.get(i);
        layout.removeView(btn);
    }

答案 1 :(得分:5)

你可以做这样的事情

View v = (View) findViewById(id);
((ViewManager)v.getParent()).removeView(v);

在此处找到:Add & delete view from Layout

答案 2 :(得分:0)

您可以设置隐身。

myButton.setVisibility(View.INVISIBLE);