Android 动态创建和删除按钮。第一次移除很好,但第二次只能移除布局中没有按钮空间的ID

Android 动态创建和删除按钮。第一次移除很好,但第二次只能移除布局中没有按钮空间的ID,android,Android,我想动态地创建和删除按钮,我在下面构建了代码,第一次删除时,以及创建新按钮时,代码都做得很好 按add按钮,然后我想删除我的按钮,但它只删除没有按钮空间的按钮ID,这个ID可以第二次使用;请帮助我理解这个问题 代码: 我找到了解决问题的办法 解决方案代码: public class MainActivity extends ActionBarActivity { Button Add; Button Remove; public int Bindex=0; protect

我想动态地创建和删除按钮,我在下面构建了代码,第一次删除时,以及创建新按钮时,代码都做得很好 按add按钮,然后我想删除我的按钮,但它只删除没有按钮空间的按钮ID,这个ID可以第二次使用;请帮助我理解这个问题

代码:


我找到了解决问题的办法

解决方案代码:

public class MainActivity extends ActionBarActivity {
    Button Add;
    Button Remove;
    public int Bindex=0;
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

Add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {    
        Bindex++;
    GridLayout Gl= (GridLayout) findViewById(R.id.ButtonGridLayout);
        LinearLayout layout=new LinearLayout(MainActivity.this);
        layout.setId(10000+Bindex);
        final Button Btn = new Button(MainActivity.this);
        Btn.setId(Bindex);
        Btn.setBackgroundColor(2);
        Btn.setTextSize(12);
        Btn.setWidth(5);
        layout.addView(Btn);
        Btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                layout.setBackgroundColor(bn.getSolidColor());
                Btn.setText(String.valueOf(Btn.getId()));

            }
        });
}

Remove.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            Button rmButton= (Button) findViewById(Bindex);
                    Input.setText(String.valueOf(rmButton.getId()));
                    numberOfTotalCloseTab=10000+Bindex;
                    rmButton.setVisibility(View.INVISIBLE);
                    rmButton.setVisibility(View.GONE);
                    LinearLayout ll= (LinearLayout) findViewById(numberOfTotalCloseTab);
                    GridLayout Gll= (GridLayout) findViewById(R.id.ButtonGridLayout);
                    ll.removeView(rmButton);
                    Gll.removeView(ll);
                    Bindex--;
                }
}

我找到了解决问题的办法

解决方案代码:

public class MainActivity extends ActionBarActivity {
    Button Add;
    Button Remove;
    public int Bindex=0;
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

Add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {    
        Bindex++;
    GridLayout Gl= (GridLayout) findViewById(R.id.ButtonGridLayout);
        LinearLayout layout=new LinearLayout(MainActivity.this);
        layout.setId(10000+Bindex);
        final Button Btn = new Button(MainActivity.this);
        Btn.setId(Bindex);
        Btn.setBackgroundColor(2);
        Btn.setTextSize(12);
        Btn.setWidth(5);
        layout.addView(Btn);
        Btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                layout.setBackgroundColor(bn.getSolidColor());
                Btn.setText(String.valueOf(Btn.getId()));

            }
        });
}

Remove.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            Button rmButton= (Button) findViewById(Bindex);
                    Input.setText(String.valueOf(rmButton.getId()));
                    numberOfTotalCloseTab=10000+Bindex;
                    rmButton.setVisibility(View.INVISIBLE);
                    rmButton.setVisibility(View.GONE);
                    LinearLayout ll= (LinearLayout) findViewById(numberOfTotalCloseTab);
                    GridLayout Gll= (GridLayout) findViewById(R.id.ButtonGridLayout);
                    ll.removeView(rmButton);
                    Gll.removeView(ll);
                    Bindex--;
                }
}