В Android TextView можно ли вставлять абзацы?

Ниже приведен пример типа проблемы, которая у меня есть. У меня есть данные в pojo, которые мне нужно отобразить в textview... данные имеют псевдо-код, который обозначает каждый абзац с [p]

Я хотел бы как-то разобрать [p] на абзацы, когда они отображаются в textview. Можно ли это сделать? Есть ли что-то, что я могу заменить для [p], которое сделает новый абзац в textview?

Question question = new Question();
question.setText("Here is the first paragraph.[p] And this should be the second."); 

TextView view = (TextView) findViewById(R.id.qtext);
view.setText(question.getParsedText());

4 ответов


Hi я бы проанализировал всю строку, а затем заменил каждый [p] на \n или даже \n\n, как вам нравится.

\n в строке делает linebreak. Например, используйте его так:

question.setText("Here is the first paragraph.\n\n And this should be the second.");`

метод, который может сделать это легко строку.заменять.(..)


вы также можете попробовать это

String summary = "<html><font color=\"#FFFFFF\"" +

             <p align="+ "\"" +"left" + "\""+ ">" +  "MY data" +"</p>"+

                "</font></html>";
mTextView.setText(Html.fromHtml(summary));

TextView tw = findViewById(R.id.t);
tw.setText("first line\nsecond line\nthird line");

<br> и <p> работа, если вам нужно другое форматирование, как полужирный и находятся в середине Html.fromHtml:

import android.app.Activity;
import android.os.Bundle;
import android.text.Html;
import android.widget.TextView;

public class Main extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        final TextView tv = new TextView(this);
        tv.setText(Html.fromHtml("first<br><b>second</b>"));
        setContentView(tv);
    }
}

протестировано на Android 22.