В моем приложении для Android у меня есть текстовые представления со ссылками. Каждый из них переключает определенное событие (открытие браузера, запуск другого действия и т. д.). Чтобы справиться с этим, я не нашел лучшего решения, чем сделать это:
hi there!, this is <u>a action</u> and this is <b>another action</b>. This third one goes to <a href="http://google.com>Google</a>
Затем при отображении текстового представления я преобразовываю каждую ссылку в пользовательский spannable с помощью SpannableStringBuilder.
Я знаю, что это хаки. И вот почему я хочу знать, есть ли другой лучший способ?
У меня есть две идеи:
Можно ли реализовать пользовательские spannables с собственной системой сортировки? Например, настраиваемые совпадающие теги spannable, такие как:
<div class="foo"></div>
Тогда у меня будет FooClickableSpannable
расширение ClickableSpan
, автоматически обнаруженное с помощью fromHtml()
- Я мог бы использовать пользовательские схемы URL-адресов для открытия своих действий, но я не уверен, как заставить его не отображать средство выбора приложений, если есть другие альтернативы.