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