我想用链接制作TextView.我用html和
java的组合制作了它:
// used to enable link navigation on TextView setMovementMethod(LinkMovementMethod.getInstance()) // TextView with link <TextView android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="19dp" android:layout_marginTop="8dp" android:gravity="center" android:linksClickable="true" android:text="@string/link"/> // @string/link <string name="link">Test <a href="#">link</a></string>
但是仍然存在一个问题,实际链接文本之前的空格加下划线如下:
为什么这样,它怎么能修复?
解决方法
在字符串中使用CDATA来使用HTML标记并使用Html.fromHtml()方法来设置文本.
实施如下:
在Activity类中使用Html.fromHtml()设置文本.
TextView textView = (TextView) findViewById(R.id.textView); textView.setText(Html.fromHtml(getString(R.string.link))); textView.setMovementMethod(LinkMovementMethod.getInstance());
在strings.xml中修改如下:
<string name="link">Test <![CDATA[<a href="#">link</a>]]></string>