我的申请表中有一些链接。一个用于网站,一个用于电话号码,一个用于电子邮件。电子邮件和电话链接都是可用的和可点击的,但由于某种原因,网站超链接仍然无法点击。有什么想法吗?代码如下。
<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上测试过它。有什么想法为什么网站不可点击?
答案 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:text
和android: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());