2

我有一个应用程序,我在 TextView 中显示动态文本。文字有

text_view.setMovementMethod(new ScrollingMovementMethod());
text_view.setMovementMethod(LinkMovementMethod.getInstance());

在 TextView 的文本中,我有围绕特定单词的 html 链接。链接有效,但是当您用手指向下滚动页面时,您有时会意外单击该链接并意外重定向。

问题似乎是链接这个词并不是唯一可以点击的东西。页面上的整行似乎都变成了一个链接。

TextView 中的示例文本:

TEAM1 @ TEAM2
STATUS:  FINAL
LINK: ESPN 

“ESPN”应该是列表中唯一可点击的项目。

您对如何纠正此问题有任何想法吗?

添加:

这是我的布局 xml

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:clickable="true"
    android:orientation="vertical"
    android:visibility="visible" >

    <ImageButton
        android:id="@+id/refresh"
        android:layout_width="30dp"
        android:layout_height="28dp"
        android:layout_gravity="right"
        android:src="@drawable/ic_menu_refresh"
        android:visibility="visible" />

  <TextView
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/widget_date"
      android:layout_width="fill_parent"
      android:layout_height="70dp"
      android:textSize="12dp"
      android:visibility="visible" />

  <TextView
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/widget_text"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:textSize="16dp"
      android:visibility="visible" />

</LinearLayout>

然后在我的代码中,我将 ESPN 一词周围的 html 链接设置为:循环数据并根据附加到更大字符串的数据创建动态链接,下面 TextView 中设置的字符串分数只是一个包含字符串“链接”的字符串" 以 html 格式。

String link = "LINK: " + "<a href = \""+ game.getUrl() +  "\">ESPN</a><BR><BR>");
text_view.setText(Html.fromHtml(scores));

当一切都说完了,我就有了我需要的东西。唯一的问题是,当您开始用手指向下滚动页面时,您有时会启动链接,因为链接似乎跨越了整行,包括空格。所以你的手指偶尔会不小心碰到每个人的链接。我想要的只是链接仅在您专门单击“ESPN”而不是空白处时才启动。

在此处输入图像描述

将字符串更改为在结束标记后实际包含空格,使空格不再可点击。

"LINK: " + "<a href = \""+ game.getUrl() +  "\">ESPN</a>             <BR><BR>");

奇怪的创可贴,但它有效。

4

1 回答 1

0

Per Lt. Tuvok(因为他没有关闭它......):我最终传递给 TextView 的字符串,虽然它包含 html 元素,但它不是 html。如果我在结束标记后包含空格,则空格不再可单击,并且只有单击“ESPN”才能转到链接。生病张贴上面我做了什么。不要认为它只是一个创可贴的永久解决方案。

于 2012-11-10T03:42:00.637 回答