2011-06-09 69 views
0

如何更改处于选定状态的RadioButton的背景图像。我已经使用checkBoxes的代码,它的工作原理,但对于RadioButtons不起作用。这里是我的代码片段:Android:以编程方式更改RadioButton的风格

RadioGroup radioGroup = new RadioGroup(context); 
for (int i = 0; i < lst.size(); i++){ 
    // Radiobuttons 
    RadioButton radioButton = new RadioButton(context); 
    radioButton.setId(i); 
    radioButton.setButtonDrawable(myDrawable); 
    radioButton.setText(myTxt); 
    radioGroup.addView(radioButton, i, layoutParams); 

} 

this.addView(radioGroup); 

@Override 
public void onCheckedChanged(RadioGroup group, int checkedId) { 
    StateListDrawable myStates = new StateListDrawable(); 
    int stateSelected = android.R.attr.state_selected; 
    myStates.addState(new int[]{ -stateSelected }, myDrawable2); 

    RadioButton r = (RadioButton) group.getChildAt(checkedId); 
    r.setButtonDrawable(myStates); 
} 

回答

0

您可以使用state-list drawable定义取决于部件的状态不同的背景图像。您可以做到这一点,而不是以编程方式更改背景资源。

关于此的教程可以在here找到。