请问动态加载的RadioButton,这样设置selector不起作用该怎么解决?

图片描述
图片描述

代码:

  Bitmap a = null;
        //顶部按钮
        for (int i = 0; i < topTitles.length; i++) {
            RadioButton tempButton = new RadioButton(getActivity());
            tempButton.setButtonDrawable(null);           // 设置按钮的样式
            tempButton.setText(topTitles[i]);
            tempButton.setId(i);
            tempButton.setTextSize(15);
            tempButton.setButtonDrawable(new BitmapDrawable(a));
            tempButton.setPadding(30, 0, 30, 0);
            tempButton.setBackgroundResource(R.drawable.channel_title_selector);
            tempButton.setTextColor(R.drawable.channel_text_color_selector);//不起作用
            tempButton.setGravity(Gravity.CENTER);
            RadioGroup.LayoutParams lp = new RadioGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                    ViewGroup.LayoutParams.WRAP_CONTENT);
            lp.setMargins(15, 0, 15, 0);//设置RadioButton的边距
            mRadioGroup.addView(tempButton, lp);
            if (i == 0) {
                mRadioGroup.check(tempButton.getId());
            }
        }
阅读 2.9k
1 个回答

tempButton.setTextColor(R.drawable.channel_text_color_selector)不能这样用
setTextColor他的参数是int color不是drawableResId
你可以使用settextColor方法设置ColorStateList 来实现你的需求,或者直接设置一个radiobutton的xml布局将其添加过来也行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题