单击TextView中的提及时获取字符串html中的id

时间:2019-05-13 03:53:47

标签: android html textview

我有字符串,我的名字是 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?

0 个答案:

没有答案