Мне нужно создать ссылку для TextView в приложении, но фактический URL-адрес, на который указывает ссылка, должен быть добавлен динамически.Динамическое создание ссылок в TextViews
Благодаря исследованиям здесь на SO, я нашел следующий код:
textView.setText(Html.fromHtml(
"<b>text3:</b> Text with a " +
"<a href=\"http://www.google.com\">link</a> " +
"created in the Java source code using HTML."));
textView.setMovementMethod(LinkMovementMethod.getInstance());
Это якобы установит связь в TextView, как это было бы в HTML. Это именно то, что мне нужно сделать, но мне нужно, чтобы URL-адрес был динамическим, на основе строковой переменной, которая будет передана в setText()
. Как мне легко это сделать?
Чтобы уточнить: я хочу отобразить слово «сайт» - это ссылка, и мне нужен URL-адрес, на который эта ссылка будет динамически обновляться на основе определенного пути, который привел пользователя к этому представлению.
Спасибо!
EDIT: Вот обновленный код:
String linkedText = "<b>text3:</b> Text with a " +
String.format("<a href=\"%s\">link</a> ", WEB) +
"created in the Java source code using HTML.";
web.setText(Html.fromHtml(linkedText));
web.setMovementMethod(LinkMovementMethod.getInstance());
Вот XML в TextView в:
<TextView
android:id="@+id/vWeb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/vPhone"
android:layout_marginTop="5dp"
android:layout_toRightOf="@+id/webIcon"
android:paddingLeft="1dp"
android:autoLink="web"
android:textIsSelectable="true" />
Это просто добавляет слово «ссылка» в текстовое окно, но не делает его доступным для кликов. – user2163853
Я не понимал, что это часть вашей проблемы. Я запустил код выше, скопировав его в один из моих собственных проектов, и, похоже, он работает нормально. Есть ли невидимый вид над TextView, который может перехватывать клики? – Brian
Нет, я так не верю. Ссылка не появляется даже при ее реализации. – user2163853