0

こんにちはフレンズ私は以下のように単一のテキストビューで2つの異なる色を設定しました 出力画面

私のコードは以下の通りです

public static String getAnswers(List<Question> questions) {
    int question = 1;
    StringBuffer sb = new StringBuffer();
    for (Question q : questions){
        String d= "<font color=#292929>" +   sb.append("Q").append(question).append(") ").append(q.getQuestion()).append("? \n")+"</font>";
        String ss="<font color=#ce4e00>"+sb.append("Answer: ").append(q.getAnswer()).append("\n\n")+"</font>";

            AnswersActivity.results.setText(Html.fromHtml(d+ss),TextView.BufferType.SPANNABLE);
        question ++;
    }

    return sb.toString();
}

そして、私が設定したテキストビューです

        mStringQustion = Utility.getAnswers(currentGame.getQuestions());

以下のような出力が得られます

出力iMAGe

どうすれば解決できますか?

4

2 に答える 2

2

私は同じ問題に遭遇し、以下のように修正しました

ForegroundColorSpanを使用する必要があります

String firstString = "Book Title:";
String secondString = "Book Description";
String thirdString = "1.SubTitle";

        SpannableStringBuilder stringBuilder = new SpannableStringBuilder(
                firstString + "\n" + secondString + "\n" + thirdString);
        stringBuilder.setSpan(new RelativeSizeSpan(2.0f), 0,
                firstString.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
        stringBuilder.setSpan(new StyleSpan(
                android.graphics.Typeface.BOLD_ITALIC), firstString.length(),
                firstString.length() + secondString.length() + 1,
                Spannable.SPAN_INCLUSIVE_INCLUSIVE);
        stringBuilder.setSpan(
                new ForegroundColorSpan(Color.rgb(255, 0, 0)),
                firstString.length() + secondString.length() + 1,
                firstString.length() + secondString.length()
                        + thirdString.length() + 2,
                Spannable.SPAN_INCLUSIVE_INCLUSIVE);
        AnswersActivity.results.setText.setText(stringBuilder);

ここに画像の説明を入力

テキストに合わせて変更できます。

これがあなたを助けることを願っています。

于 2013-10-11T12:53:43.950 に答える
0

このようにしてみてください

String d = "&lt;![CDATA[ &lt;font color=#292929>" + sb.append("Q").append(question).append(")").append(q.getQuestion()).append("? \n")+"</font>";  
String ss="<font color=#ce4e00>" + sb.append("Answer:").append(q.getAnswer()).append("\n\n")+"</font>]]>";
于 2013-10-11T12:27:49.557 に答える