Android - 超链接无法点击

Jos*_*ith 4 xml android hyperlink

我的申请表中有一些链接.一个用于网站,一个用于电话号码,一个用于电子邮件.电子邮件和电话链接都是可用的和可点击的,但由于某种原因,网站超链接仍然无法点击.有什么想法吗?代码如下.

<string name="website" ><a href="http://www.XXXXXX.com">XXXXXX Website</a></string>
<string name="email" >sales@XXXXXXX.com</string>
<string name="phone" >P: XXX.XXX.XXXX</string>
<string name="fax" >F: XXX.XXX.XXXX</string>
Run Code Online (Sandbox Code Playgroud)

上面是我的字符串,下面是显示它们的xml文件:

<TextView android:id="@+id/website"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_below="@id/imageButtonTwitter"
          android:gravity="center_horizontal"
          android:padding="10dp"
          android:autoLink="web"
          android:clickable="true"
          android:linksClickable="true"
          android:text="@string/website" />

<TextView android:id="@+id/email"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_below="@id/website"
          android:gravity="center_horizontal"
          android:padding="10dp"
          android:autoLink="email"
          android:linksClickable="true"
          android:text="@string/email" />

<TextView android:id="@+id/phone"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_below="@id/email"
          android:gravity="center_horizontal"
          android:padding="10dp"
          android:autoLink="phone"
          android:linksClickable="true"
          android:text="@string/phone" />

<TextView android:id="@+id/fax"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_below="@id/phone"
          android:gravity="center_horizontal"
          android:padding="10dp"
          android:text="@string/fax" />
Run Code Online (Sandbox Code Playgroud)

就像我说的那样......其他人都可以点击并且正常工作.我在两个模拟器以及我的Galaxy S4上测试过它.有什么想法为什么网站不可点击?

Gre*_*nis 14

你需要在你的textview上调用它:

TextView tv = (TextView) findViewById(R.id. website);
tv.setMovementMethod(LinkMovementMethod.getInstance());
Run Code Online (Sandbox Code Playgroud)

您需要从TextView中删除:

android:autoLink="web"
android:clickable="true"
android:linksClickable="true"
Run Code Online (Sandbox Code Playgroud)

  • 我之前尝试过这个,但因为不起作用而将其取出。我又试了一次以确保仍然没有骰子。如果没有该 java 代码片段,超链接至少是蓝色的,就好像它是可点击的一样,现在链接是白色且不可点击的。 (2认同)
  • 奇怪的是:“setMovementMethod(LinkMovementMethod.getInstance())”对我不起作用,但在 xml 中设置您告诉要删除的内容却可以。 (2认同)