现在我正在编写简单的笔记应用程序。我需要在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:当用户点击按钮时,格式化正在发生。
答案 0 :(得分:2)
试试这个
EditText text = new EditText(this);
text.setText(Html.fromHtml(html));
text.setMovementMethod(LinkMovementMethod.getInstance());
答案 1 :(得分:1)
尝试使用此
String string = et.getText().toString();
String selectedString = string.substring(startSelection, endSelection);
Spanned s = Html.fromHtml(string.replace(selectedString, "<font color=\"red\">" + selectedString + "</font>"));
答案 2 :(得分:0)
如果你在谈论格式化文本,你总是可以这样做
EditText et = new EditText(this);
et.setText(Html.fromHtml("Simple Text <B>Formatted Text</B> Simple Text Again"));
如果您想linkify
文字的特定部分,请使用此Blog
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://");