В 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");