鍍金池/ 問答/Android/ 請問動態(tài)加載的RadioButton,這樣設(shè)置selector不起作用該怎么解決

請問動態(tài)加載的RadioButton,這樣設(shè)置selector不起作用該怎么解決?

圖片描述
圖片描述

代碼:

  Bitmap a = null;
        //頂部按鈕
        for (int i = 0; i < topTitles.length; i++) {
            RadioButton tempButton = new RadioButton(getActivity());
            tempButton.setButtonDrawable(null);           // 設(shè)置按鈕的樣式
            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);//設(shè)置RadioButton的邊距
            mRadioGroup.addView(tempButton, lp);
            if (i == 0) {
                mRadioGroup.check(tempButton.getId());
            }
        }
回答
編輯回答
嫑吢丕

tempButton.setTextColor(R.drawable.channel_text_color_selector)不能這樣用
setTextColor他的參數(shù)是int color不是drawableResId
你可以使用settextColor方法設(shè)置ColorStateList 來實現(xiàn)你的需求,或者直接設(shè)置一個radiobutton的xml布局將其添加過來也行

2017年12月6日 12:50