В Android TextView можно ли вставить абзацы? - PullRequest
11 голосов
/ 05 июня 2010

Ниже приведен пример типа проблемы, с которой я столкнулся. У меня есть данные в 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());

Ответы [ 4 ]

10 голосов
/ 05 июня 2010

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

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

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

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

5 голосов
/ 07 декабря 2011

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

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

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

                "</font></html>";
mTextView.setText(Html.fromHtml(summary));
1 голос
/ 05 марта 2017
TextView tw = findViewById(R.id.t);
tw.setText("first line\nsecond line\nthird line");
0 голосов

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...