Autolink внутри TextView в android
Как дать автолинк для какой-то части textview? Например: мой текст внутри TextView: "Пожалуйста, нажмите здесь, чтобы открыть эту веб-страницу". Я хочу показать ссылку только для текста "здесь". И я должен открыть эту веб-страницу по щелчку текста "здесь", но не в любом месте TextView.
Ответы
Ответ 1
Поместите строку в string.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="txtCredits">Support: <a href="http://www.stackoverflow.com">click here</a></string>
</resources>
И вы можете использовать его в textView следующим образом:
<TextView
android:layout_width="fill_parent"
android:id="@+id/text"
android:layout_height="wrap_content"
android:autoLink="web"
android:gravity="center"
android:linksClickable="true"
android:text="@string/txtCredits" />
ИЗМЕНИТЬ
По какой-то причине выше код работает неправильно. Итак, добавьте ниже код,
TextView t2 = (TextView) findViewById(R.id.text);
t2.setMovementMethod(LinkMovementMethod.getInstance());
Ответ 2
Текстовые просмотры способны отображать HTML, который решает вашу проблему. Оберните то, что вы хотите кликать по гиперссылке:
String html = "My link is <a href=\"http://google.com\">here</a>";
myTextView.setText(Html.fromHtml(html));
Ответ 3
Используйте синтаксис HTML в файле strings.xml:
<string name="test">Click <a href="http://vtuhtan.info">here</a></string>
Задайте свойства TextView, чтобы иметь ссылки на клики и авто ссылку.
TextView tv = findViewById(R.id.textView);
tv.setText(Html.fromHtml(getResources().getString(R.string.test)));
Ответ 4
используйте простой URL в strings.xml:
<string name="autolink_val">Please Click Here : http://www.google.com</string>
И в коде Java напишите это:
<TextView android:id="@+id/linkVal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
android:text="@string/autolink_val1"/>'
Ответ 5
Вы можете проверить его с помощью следующего кода:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="http://www.yahoo.com"
android:autoLink="web"
/>