Добавление веб-ссылки в виджет TextView - PullRequest
8 голосов
/ 24 января 2012

Я хотел бы знать, если и как можно добавить веб-ссылку на виджет TextView. В моем приложении я показываю текст и рядом с ним изображение. Я хотел бы вставить кликабельную интернет-ссылку в тексте. Возможно ли это?

Ответы [ 3 ]

11 голосов
/ 24 января 2012

Вам просто нужно установить свойство android: autolink .

<TextView
        android:autoLink="web"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"        
        android:text="http://www.google.com" />
0 голосов
/ 06 января 2017

Если ваша веб-ссылка отличается от текста, который вы показываете в TextView:

TextView в вашем файле макета:

<TextView
    android:id="@+id/textview_with_hidden_clickable_link"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/string_with_text_and_link"/>

Ваша строка в файле ресурсов:

<string name="string_with_text_and_link">
    <a href="http://any_web_site">The text in your TextView</a>
</string>

А в вашем классе Java:

((TextView)findViewById(R.id.textview_with_hidden_clickable_link))
    .setMovementMethod(LinkMovementMethod.getInstance());

ПРИМЕЧАНИЕ: http:// в строковом ресурсе необходим.

0 голосов
/ 24 января 2012

Вот так я и сделал по коду

private void setAsLink(TextView view, String url){
        Pattern pattern = Pattern.compile(url);
        Linkify.addLinks(view, pattern, "http://");
        view.setText(Html.fromHtml("<a href='http://"+url+"'>http://"+url+"</a>"));
    }
...