我有字符串,我的名字是 android 中的Tran Hoa初学者(12是用户Tran Hoa的ID)。 如何在TextView中将其显示为:“我的名字是android中的Tran Hoa初学者”,当单击Tran Hoa时,我可以显示用户的吐司ID和值(在我的示例吐司字符串中是12 Tran Hoa。
当我尝试使用Regex获取提及标签的开始和结束位置时。
String regex = "<at(.*?)>(.*?)</at>";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(stringHtml);
String[] splits = stringHtml.toString().split(pattern.pattern());
StringBuilder builder = new StringBuilder();
for (String str : splits) {
builder.append(str);
int start = builder.length();// start position
if (matcher.find()) {
String group = matcher.group(1);
if (group != null && group.length() > 0) {
int end = start +group.lenght();//end position
String valueText = group; // value of mention -> <at id="12"> Tran Hoa</at>
}
}
}
它将检测到提及,但在TextView中保留标记<at>
和<i>
。如果我尝试使用TextView.setText(Html.fromHtml(myString)
,它将删除<at>
和<i>
,但我在TextView中无法检测到提及。
在TextView中单击要提及的内容时,如何显示HTML并检测提及的ID?