我有一个textview,其autoLinks设置为all。我想跳过“ 2018”之类的数字 这些年份,这些数字不应突出显示。我可以在文本中使用分隔符,以便在解析时跳过那些数字吗?
编辑: 此问题仅在Mi设备中发生。
答案 0 :(得分:0)
尝试一下。...
String s1="jan 2018,Saturday";
String replaceString=s1.replace("2018","");//replaces all occurrences of "2018" to ""
System.out.println(replaceString);
输出:= jan,星期六。
答案 1 :(得分:0)
尝试此代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
highlightTv();
}
protected void highlightTv(){
// Specify the text/word to highlight inside TextView
String textToHighlight = "2018";
// Construct the formatted text
String replacedWith = "<font color='green'>" + textToHighlight + "</font>";
// Get the text from TextView
String originalString = textView.getText().toString();
// Replace the specified text/word with formatted text/word
String modifiedString = originalString.replaceAll(textToHighlight,replacedWith);
// Update the TextView text
mTextView.setText(Html.fromHtml(modifiedString));
}
答案 2 :(得分:0)
在这种情况下,使用Spanable String突出显示“特定字符串”。
这里是一个示例: SpannableString spannableStr =新的SpannableString(originalText); ForegroundColorSpan前景色ColorSpan =新的ForegroundColorSpan(Color.RED); spannableStr.setSpan(foregroundColorSpan,15,30,Spanned.SPAN_INCLUSIVE_EXCLUSIVE); spannableTextView.setText(spannableStr);
设置颜色以及开始字符串索引和结束索引。
有关更多详细信息,请检查此链接click this link
答案 3 :(得分:0)
我搜索了您的答案,请尝试
private void stripUnderlines(TextView textView) {
Spannable s = new SpannableString(textView.getText());
URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
for (URLSpan span: spans) {
int start = s.getSpanStart(span);
int end = s.getSpanEnd(span);
s.removeSpan(span);
span = new URLSpanNoUnderline(span.getURL());
s.setSpan(span, start, end, 0);
}
textView.setText(s);
}
这需要URLSpan的自定义版本,该版本未启用TextPaint的“下划线”属性:
private class URLSpanNoUnderline extends URLSpan {
public URLSpanNoUnderline(String url) {
super(url);
}
@Override public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
}
这是link