Получить идентификатор в строке html при нажатии упоминания в TextView - PullRequest
0 голосов
/ 13 мая 2019

У меня есть строка Меня зовут начинающий 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...