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