Я пытаюсь загрузить URL-адрес кликнутой ссылки в EditText. Я хочу коснуться ссылки, а затем сделать что-то со своим URL-адресом. Ближайший я получил, чтобы определить, является ли интервал, где курсор сидит является URLSpan стиль:Получите URL-адрес или HTML-ссылку на ссылку в Android EditText
int s1 = Math.max(mText.getSelectionStart(), 0);
int s2 = Math.max(mText.getSelectionEnd(), 0);
Spannable raw = new SpannableString(mText.getText());
CharacterStyle[] spans = raw.getSpans(s1, s2, CharacterStyle.class);
for (CharacterStyle span : spans) {
if(span.getClass().equals(android.text.style.URLSpan.class)){
//is a link, but what is the URL?
}
}
Если преобразовать все это в HTML строку, то я не знаю, как относиться к позиции курсора простой текст в текст html. Я могу получить все URL-адреса в EditText с помощью getUrls()
, но до сих пор не знаю, какой из них был нажат. Если бы я мог сделать что-то вроде: EditText.getPortion(start, end).getUrls()
, это было бы ближе, но до сих пор я не видел никаких методов.
Спасибо, но я не пытаюсь сделать веб-адреса в ссылках. Я пытаюсь получить URL-адрес текста ссылки при нажатии. – Ael