以编程方式删除按钮

alg*_*thm 1 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);
    }
Run Code Online (Sandbox Code Playgroud)

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

alg*_*thm 8

用另一个for循环解决了这个问题

for(int i=0; i< aList.size();i++)
    {
        Button btn;
        btn = buttons.get(i);
        layout.removeView(btn);
    }
Run Code Online (Sandbox Code Playgroud)


小智 5

你可以做这样的事情

View v = (View) findViewById(id);
((ViewManager)v.getParent()).removeView(v);
Run Code Online (Sandbox Code Playgroud)

在此处找到:从布局添加和删除视图