从返回值设置textview

时间:2016-02-19 11:36:59

标签: android stringbuilder spanned

我正在创建一个水平字符串,每个文本之间都有彩色项目符号。我使用Spanned StringBuilder并返回值为Html.fromHtml(builder.toString())的方法。问题是如何使用该返回值在TextView中设置文本。

public class MainActivity extends AppCompatActivity {

    TextView text;
    StringBuilder builder;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        text = (TextView)findViewById(R.id.text);
        text.setText(Html.fromHtml(builder.toString()));

    }

    Spanned createSpannable(List<String> interests) {
        builder = new StringBuilder();
        int size = interests.size();
        for (int i = 0; i < size; i++) {
            builder.append(interests.get(i));
            if (i < size - 1) {
                builder.append(" <font color=\"#c52d08\">&#8226</font> ");
            }
        }

        return Html.fromHtml(builder.toString());
    }

}

1 个答案:

答案 0 :(得分:3)

试试这个:

public class MainActivity extends AppCompatActivity {

    TextView text;
    StringBuilder builder;
    Spanned mSpanned;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        text = (TextView)findViewById(R.id.text);
        mSpanned = createSpannable(YourList); //Pass your list
        text.setText(mSpanned);

    }

    Spanned createSpannable(List<String> interests) {
        builder = new StringBuilder();
        int size = interests.size();
        for (int i = 0; i < size; i++) {
            builder.append(interests.get(i));
            if (i < size - 1) {
                builder.append(" <font color=\"#c52d08\">&#8226</font> ");
            }
        }
        return Html.fromHtml(builder.toString());
    }

}
相关问题