HTTP リクエストからの情報を使用して、プログラムでカスタム RadioButtons/Checkboxes を作成しようとしています (アプリ内調査の作成)。Android チェックボックスのテキストが表示されないで提案された解決策を試しましたが、テキストはまだ表示されません。
カスタム ボタン ビューを作成できますが、何らかの理由でテキストが表示されません。どこが間違っているのか分かりますか?
チェックボックス_セレクター:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/multiselected" android:state_checked="true"/>
<item android:drawable="@drawable/multiunselected" android:state_checked="false"/>
</selector>
ラジオセレクター:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/singleselected" android:state_checked="true"/>
<item android:drawable="@drawable/singleunselected" android:state_checked="false"/>
</selector>
作成方法は次のとおりです。
if (mQuestion != null && mQuestion.isSingleResponse()
&& mAnswerTitles.size() > 0) {
for (int i = 0; i < mAnswerTitles.size(); i++) {
Answer answer1 = mAnswerTitles.get(i);
RadioButton answer = new RadioButton(getActivity());
answer.setText(answer1.getTitle().toString());
answer.setTextSize(24);
answer.setTextColor(Color.BLACK);
answer.setId(answer1.getId());
answer.setButtonDrawable(R.drawable.radio_selector);
answer.setLayoutParams(mRadioGroupAnswers.getLayoutParams());
answer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mNextQuestion.setEnabled(true);
}
});
mRadioGroupAnswers.addView(answer);
}
} else {
if (mAnswerTitles != null && mAnswerTitles.size() > 0) {
for (int i = 0; i < mAnswerTitles.size(); i++) {
Answer answer1 = mAnswerTitles.get(i);
CheckBox answer = new CheckBox(getActivity());
answer.setText(answer1.getTitle().toString());
answer.setTextSize(24);
answer.setTextColor(Color.BLACK);
answer.setId(answer1.getId());
answer.setButtonDrawable(R.drawable.checkbox_selector);
answer.setLayoutParams(mRadioGroupAnswers.getLayoutParams());
answer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mNextQuestion.setEnabled(true);
}
});
if (mAnswerHolder != null) {
mAnswerHolder.addView(answer);
}
}
}
そして、それらを追加するグループ/レイアウト:
<RadioGroup
android:layout_marginTop="8dp"
android:id="@+id/answerGroup"
android:textColor="@android:color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</RadioGroup>
<LinearLayout
android:id="@+id/answerTextHolder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
</LinearLayout>
テキストが実際には画像によって隠されているように見えます-画像に配置され、テキストの長さで画像のサイズを変更するのではなく: