Android - 超链接无法点击

时间:2014-01-03 23:18:57

标签: android xml 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>

以上是我的字符串,下面是显示它们的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" />

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

3 个答案:

答案 0 :(得分:13)

您需要在textview上调用它:

TextView tv = (TextView) findViewById(R.id. website);
tv.setMovementMethod(LinkMovementMethod.getInstance());

您需要从TextView中删除

android:autoLink="web"
android:clickable="true"
android:linksClickable="true"

答案 1 :(得分:0)

我不是很有经验的android程序员,但我的小言论可能会有所帮助(至少我希望):

请勿将这些附加参数添加到TextView。只需android:textandroid:clickable="true"即可获得html可点击链接。

接下来在设置文字时请使用:

TextView myTextView = (TextView) findViewById(R.id.myId);
myTextView.setText(Html.fromHtml(htmlText));

更多信息:android.text.Html

我猜你错过了Html.fromHtml

我希望它有所帮助。

答案 2 :(得分:0)

添加此行 -

  

htmlContent.setMovementMethod(LinkMovementMethod.getInstance());