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

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

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

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());

Ответ 1

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

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

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

Метод, который легко может сделать это, String.replace(...)

Ответ 2

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

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

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

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

Ответ 3

<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.

Ответ 4

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