Как сделать ссылки в TextView кликабельными?

$result_names = '';
foreach($results as $result){
    $result_names .= $result->name.',';
}
echo rtrim($result_names, ',');
928
задан Hamid Shatu 5 May 2014 в 05:50
поделиться

3 ответа

Зарытый в демо-версиях API, я нашел решение своей проблемы:

Link.java:

    // text2 has links specified by putting <a> tags in the string
    // resource.  By default these links will appear but not
    // respond to user input.  To make them active, you need to
    // call setMovementMethod() on the TextView object.

    TextView t2 = (TextView) findViewById(R.id.text2);
    t2.setMovementMethod(LinkMovementMethod.getInstance());

Я удалил большинство атрибутов моего TextView, чтобы они соответствовали тем, что были в демо-версии.

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

Это решило проблему. Довольно сложно обнаружить и исправить.

Important: Не забудьте удалить autoLink="web", если вы вызываете setMovementMethod().

1199
ответ дан 19 December 2019 в 20:21
поделиться

Я использую только android: autoLink = "web" и работает нормально. Щелчок по ссылке открывает браузер и показывает правильную страницу.

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

515
ответ дан 19 December 2019 в 20:21
поделиться

Причина проблемы в том, что он пытается сопоставить только «голые» адреса. например www.google.com или http://www.google.com .

Выполнение текста через Html.fromHtml () должно помочь. Это нужно делать программно, но это работает.

5
ответ дан 19 December 2019 в 20:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: