如何编辑通过下面显示的代码创建的按钮?例如,我想从" test4"更改按钮i = 4的文本。到"改变4"。我该怎么办?
containerLayout = (LinearLayout) findViewById(R.id.containerLayout);
for (int i = 0; i < 6; i++) {
Button button = new Button(this);
button.setBackgroundResource(R.drawable.button);
button.setTextAppearance(this, R.style.ButtonFontStyle);
button.setTextColor(getResources().getColor(R.color.white));
button.setTypeface(Typeface.DEFAULT_BOLD);
button.setId(i);
button.setText("test"+i);
containerLayout.addView(button);
}
答案 0 :(得分:1)
你可以这样做:
containerLayout = (LinearLayout) findViewById(R.id.containerLayout);
for (int i = 0; i < 6; i++) {
Button button = new Button(this);
button.setBackgroundResource(R.drawable.button);
button.setTextAppearance(this, R.style.ButtonFontStyle);
button.setTextColor(getResources().getColor(R.color.white));
button.setTypeface(Typeface.DEFAULT_BOLD);
button.setId(i);
if(i == 4){
button.setText("changed"+i);
}else{
button.setText("test"+i);
}
containerLayout.addView(button);
}
或者,如果您想将其设置为“test4”并稍后更改,您可以执行以下操作。
HashMap<Integer, Button> buttons = new HashMap<Integer, Button>();
containerLayout = (LinearLayout) findViewById(R.id.containerLayout);
for (int i = 0; i < 6; i++) {
Button button = new Button(this);
button.setBackgroundResource(R.drawable.button);
button.setTextAppearance(this, R.style.ButtonFontStyle);
button.setTextColor(getResources().getColor(R.color.white));
button.setTypeface(Typeface.DEFAULT_BOLD);
button.setId(i);
button.setText("test"+i);
containerLayout.addView(button);
buttons.put(i, button)
}
....
buttons.get(4).setText("changed4");