RadioButton设置setTextColor失效

由于有许多的RadioButton是动态的,不是固定的一些,所以需要在代码中,动态的添加到RadioGroup中,下面是我的实现方法。

for (int j = 0; j < 5; j++) {
    RadioButton tempButton = new RadioButton(context);
                tempButton.setButtonDrawable(context.getResources()
                        .getDrawable(android.R.color.transparent)); // 设置按钮的样式
                tempButton.setBackground(context.getResources().getDrawable(
                        R.drawable.asthma_bg_radiobutton_selector));
                tempButton.setPadding(AppUtil.dip2px(context, 16), 0, 0, 0); // 设置文字距离按钮四周的距离

    tempButton.setTextColor(context.getResources().getColorStateList(R.drawable.asthma_text_color_selector));
                tempButton.setText(j + " test");
                tempButton.setTag(j);
                tempButton
                        .setOnCheckedChangeListener(new RadioGroupChangeListener());
                radioGroup.addView(tempButton,
                        LinearLayout.LayoutParams.MATCH_PARENT,
                        AppUtil.dip2px(context, 48));
            }1234567891011121314151617

发现在代码radioButton设置字体颜色是不能选中变色的,在xml里面设置是可以的,可以是要动态生成想要在代码里面直接设置,楞是没有效果。。。然后换成

ColorStateList colorStateList=context.getResources().getColorStateList(R.drawable.asthma_text_color_selector);  

                tempButton.setTextColor(colorStateList);123

使用枚举出来颜色,这样setTextColor能显示出你想要的效果了。。。 
 

你可能感兴趣的:(RadioButton设置setTextColor失效)