如何显示器的EditText格式的文本?(How display formatted text in

2019-09-19 04:06发布

现在我写一个简单的笔记应用程序。 我需要显示的EditText格式的独立选定的文本。

我试过了,

EditText et = (EditText)findViewById(R.id.edittext);
String string;
int startSelection = et.getSelectionStart();
int endSelection = et.getSelectionEnd();

string = et.getText().toString();
string.substring(startSelection, endSelection);



Spanned s = Html.fromHtml("<font color=\"red\">" + string + "</font>");

et.setText(s);

该解决方案仅显示分离选定的文本。 但我需要显示在其他文本格式的文本。 我不知道。

UPD:格式化发生,当用户点击该按钮。

Answer 1:

尝试这个

EditText text = new EditText(this); 
text.setText(Html.fromHtml(html));
text.setMovementMethod(LinkMovementMethod.getInstance());


Answer 2:

尝试使用此

String string = et.getText().toString();
    String selectedString = string.substring(startSelection, endSelection);

    Spanned s = Html.fromHtml(string.replace(selectedString, "<font color=\"red\">" + selectedString + "</font>"));


Answer 3:

如果你在谈论格式的文本,你总是可以做这样的

EditText et = new EditText(this);
et.setText(Html.fromHtml("Simple Text <B>Formatted Text</B> Simple Text Again"));

如果你想linkify文本的特定部分,然后做这样使用这个博客

    EditText mTextSample = new EditText(this);
    String text = "click to see stackoverflow.com here";   
    mTextSample.setText(text);        
    Pattern pattern = Pattern.compile("stackoverflow.com");   
    Linkify.addLinks(mTextSample, pattern, "http://"); 


文章来源: How display formatted text in EditText?