【问题标题】:TextView#setMovementMethod(LinkMovementMethod.getInstance()) is breaking link displayTextView#setMovementMethod(LinkMovementMethod.getInstance()) 正在破坏链接显示
【发布时间】:2013-03-08 16:49:08
【问题描述】:

我有一个 TextView,我用一个由一些 HTML 制成的 Spannable 填充。

这段代码:

textView.setText(Html.fromHtml(textContent, mImageGetter, null));

显示链接,但它们不可点击。这段代码:

text.setMovementMethod(LinkMovementMethod.getInstance());
textView.setText(Html.fromHtml(textContent, mImageGetter, null));

显示链接。 TextView 在 XML 中指定为

<TextView
    android:id="@+id/text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/another_textview"
    android:layout_marginTop="5dp"
    android:autoLink="web"
    android:textColorLink="@color/link_color_unpressed"
    android:textColor="#ffffff"
    android:textSize="18sp" />

为什么LinkMovementMethod(一种完全存在的用于使TextView 中的链接可点击的方法)阻止链接显示?

【问题讨论】:

    标签: android html textview spannable linkmovementmethod


    【解决方案1】:

    罪魁祸首是自动链接方法:

    <TextView
        ...
        android:autoLink="web"
        ...
        />
    

    删除此行解决了问题。

    【讨论】:

    • 谢谢,这对过去的我很有帮助!
    • 谢谢。这对我也有很大帮助,但我还是不知道“autoLink”的作用是什么。我应该什么时候使用它。 @安德鲁
    • autoLink 应该将任何TextView 中检测到的可链接文本转换为可点击链接。它适用于网络、电子邮件地址和电话号码(实际上,任何长数字)。它非常方便,但不如 HTML 那样可控。它还与可用于在可能包含 &lt;a ... &gt;&lt;/a&gt; 标签的 TextView 中呈现 HTML 的方法进行破坏性交互。
    猜你喜欢
    • 1970-01-01
    • 2014-01-04
    • 1970-01-01
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 2012-06-12
    • 1970-01-01
    相关资源
    最近更新 更多