У меня есть текстовое представление, которое мне нужно связать. Вот что я делаю ..Android: Linkify TextView
TextView text = (TextView) view.findViewById(R.id.name);
text.setText("Android...Update from Android");
Pattern pattern = Pattern.compile("Android");
String scheme = "www.android.com";
Linkify.addLinks(text, pattern, scheme);
Текст ракурса корректно отображается с текстом «Android ... Обновление от Android», но я столкнулся с двумя проблемами.
1) Моя текстовая строка содержит два экземпляра строки «Android». Таким образом, оба текста связаны. Я хочу, чтобы только первое возникновение было связано. Как мне это сделать?
2) Когда я нажимаю ссылку на текст, он открывает браузер, но URL-адрес странный. URL-адрес, который он пытается открыть, - «www.comandroid». Я не знаю, что здесь происходит. Текст «андроид» в URL-адресе заменяется. Я делаю что-то неправильно, когда Linknifying текст.
Любая помощь будет высоко оценена.
Проблема решена. Решение первой проблемы - это ответ, предоставленный Яном Лесли. Решение второй проблемы заключается в следующем. Поведение API «Linkify.addLinks» таково, что оно добавляет строку, которую вы хотите связать с концом URL. Для ex..если вы хотите связать текст «Android» с «www.android.com» .. окончательный URL-адрес «www.android.comAndroid», который не то, что мне нужно. Так я использовал public static final void addLinks (TextView text, Pattern p, String scheme, Linkify.MatchFilter matchFilter, Linkify.TransformFilter transformFilter) –
TransformFilter transformFilter = new TransformFilter() {public final Строка transformUrl (окончательное совпадение совпадений, строковый URL) { return ""; } }; Api transformFilter возвращает пустую строку. Таким образом, мой окончательный URL-адрес «www.android.com –