Intereting Posts
Android twitter4j загрузить картинку Проверка пустого поля RadioGroup с помощью setError в Android Ошибка ADB в Eclipse Unity Android Build Error WIN32 Исключение ZipAlign Как сделать линейное заполнение оставшегося пространства в режиме релятивирования? Как добавить progressbar в ActionBarSherlock Как установить несколько аварийных сигналов с помощью диспетчера аварийных сигналов Android Ошибка: тегу <item> требуется атрибут «drawable» или дочерний тег, определяющий возможность рисования Текст кнопки не с несколькими строками Settings.Secure.HTTP_PROXY устарел в ICS, но нет информации о замене Отправка ACTION_CALL Intent в Android с символом hash # Невозможно получить неявные намерения работать Архивная библиотека Android (aar) против стандартной банки Утечка памяти с настраиваемым шрифтом для настраиваемого шрифта Android: дочерние элементы разделяют нажатие на состояние со своим родителем, даже если duplicateParentState указан

Android: текстовая гиперссылка

Я знаю, что если вы поместите ссылку в текстовое поле, она будет работать, но если я хочу отобразить, например:

Google stackoverflow

А не целую ссылку (только тег). Как сделать эти ссылки доступными?

Solutions Collecting From Web of "Android: текстовая гиперссылка"

У вас может быть два отдельных TextViews, и вы можете соответствующим образом выровнять их в своем макете:

Text1.setText( Html.fromHtml( "<a href=\"http://www.google.com\">google</a> ")); Text1.setMovementMethod(LinkMovementMethod.getInstance()); Text2.setText( Html.fromHtml( "<a href=\"http://www.stackoverflow.com\">stackoverflow</a> ")); Text2.setMovementMethod(LinkMovementMethod.getInstance()); 

Затем, если вы хотите снять «подчеркивание ссылки». Создайте класс:

 public class URLSpanNoUnderline extends URLSpan { public URLSpanNoUnderline(String url) { super(url); } @Override public void updateDrawState(TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); } } 

Затем добавьте этот метод в свой основной класс Activity, где у вас есть TextViews

 private void stripUnderlines(TextView textView) { Spannable s = new SpannableString(textView.getText()); URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class); for (URLSpan span: spans) { int start = s.getSpanStart(span); int end = s.getSpanEnd(span); s.removeSpan(span); span = new URLSpanNoUnderline(span.getURL()); s.setSpan(span, start, end, 0); } textView.setText(s); } 

А затем просто вызовите это после того, как вы инициализировали TextViews (в вашем onCreate):

 stripUnderlines(Text1); stripUnderlines(Text2); 
 TextView t2 = (TextView) findViewById(R.id.textviewidname); t2.setMovementMethod(LinkMovementMethod.getInstance()); 

а также

 <string name="google_stackoverflow"><a href="https://stackoverflow.com/questions/9852184/android-textview-hyperlink?rq=1">google stack overflow</a></string> 

Ссылка: « Android: текстовая гиперссылка »

И тег «переполнение стека Google»

Определите первый блок кода в java и втором блоке кода в файле strings.xml. Кроме того, не забудьте указать идентификатор textView из макета страницы в java.

Очень простой способ сделать это —

В вашей деятельности –

  TextView tv = (TextView) findViewById(R.id.site); tv.setText(Html.fromHtml("<a href=http://www.stackoverflow.com> STACK OVERFLOW ")); tv.setMovementMethod(LinkMovementMethod.getInstance()); 

Тогда вы получите только тег, а не всю ссылку.

Надеюсь, это поможет вам …

android:autoLink="web" просто работает, если у вас есть полные ссылки в вашем HTML. Следующее будет выделено синим цветом и доступно для кликов:

Это должно сработать.

 TextView t2 = (TextView) findViewById(R.id.text2); t2.setMovementMethod(LinkMovementMethod.getInstance()); and <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/txtCredits" android:id="@+id/text2" android:layout_centerInParent="true" android:layout_marginTop="20dp"></TextView> 

Это моя рабочая реализация

 private void showMessage() { lblMessage.setText(""); List<String> messages = db.getAllGCMMessages(); for (int k = messages.size() - 1; k >= 0; --k) { String message = messages.get(k).toString(); lblMessage.append(message + "\n\n"); } Linkify.addLinks(lblMessage, Linkify.ALL); } 

И изменить цвет гиперссылок, я отредактировал свой xml для textview –

  android:textColorLink="#69463d" 

Я столкнулся с той же проблемой и, наконец, нашел рабочее решение.

  1. В файле string.xml определите:

     <string name="textWithHtml">The URL link is &lt;a href="http://www.google.com">Google&lt;/a></string> 

Замените символ «<» меньше, чем символ с экранированным символом HTML.

  1. В коде Java:

     String text = v.getContext().getString(R.string.textWithHtml); textView.setText(Html.fromHtml(text)); textView.setMovementMethod(LinkMovementMethod.getInstance()); 

И TextBox будет правильно отображать текст с помощью кнопки привязки с привязкой

Проверьте этот пост.

 TextView link = (TextView) findViewById(R.id.hyper); String linkText = "This is my website <a> href="http://programondaspot.blogspot.com">Programondaspot</a> ."; link.setText(Html.fromHtml(linkText)); link.setMovementMethod(LinkMovementMethod.getInstance());