如何编辑此代码创建的按钮?

时间:2015-07-11 10:55:01

标签: java android android-layout

如何编辑通过下面显示的代码创建的按钮?例如,我想从" 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);
    }

1 个答案:

答案 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");