У меня есть строка Меня зовут начинающий Tran Hoa в android (12 - это идентификатор пользователя Tran Hoa).
Как я могу показать это в TextView: «Меня зовут начинающий Tran Hoa в Android», и когда я нажимаю на Tran Hoa, я могу показать идентификатор тоста и значение пользователя (в моем примере строка тоста - 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>
}
}
}
Он обнаружит упоминание, но содержит теги <at>
и <i>
в TextView. если я попытаюсь использовать TextView.setText(Html.fromHtml(myString)
, это удалит <at>
и <i>
, но я не могу обнаружить упоминание в TextView.
Как я могу отобразить HTML и определить идентификатор упоминания при нажатии на упоминание в TextView?