我有一個TextView
在listview
它可以有2+鏈接。我已經通過這個SO link來捕獲TextView
的事件,但這不適用於列表視圖。帶有可點擊鏈接的Android TextView:如何捕獲CustomAdapter ListView中的點擊?
這裏是我的代碼:
getView
方法
if(ann.message.contains("<a href=")){
setTextViewHTML(holder.announcement, ann.message);
}
方法,使文本可點擊
protected void makeLinkClickable(SpannableStringBuilder strBuilder, final URLSpan span)
{
int start = strBuilder.getSpanStart(span);
int end = strBuilder.getSpanEnd(span);
int flags = strBuilder.getSpanFlags(span);
ClickableSpan clickable = new ClickableSpan() {
public void onClick(View view) {
// Do something with span.getURL() to handle the link click...
Log.i("YES-5.0", span.getURL());
}
};
strBuilder.setSpan(clickable, start, end, flags);
strBuilder.removeSpan(span);
}
protected void setTextViewHTML(TextView text, String html)
{
CharSequence sequence = Html.fromHtml(html);
SpannableStringBuilder strBuilder = new SpannableStringBuilder(sequence);
URLSpan[] urls = strBuilder.getSpans(0, sequence.length(), URLSpan.class);
for(URLSpan span : urls) {
makeLinkClickable(strBuilder, span);
}
text.setText(strBuilder);
}
這是我TextView
:
<TextView
android:id="@+id/textViewAnnouncementMessage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:layout_marginRight="4dp"
android:focusable="false"
android:textColor="@android:color/black"
android:maxLines="5"
android:text="@string/message"
android:textSize="16sp"/>
我試圖與下面的TextView的`屬性的所有組合」,但仍然沒有成功:
android:autoLink="all"
android:clickable="true"
android:linksClickable="true"
試圖用你的解決方案,但厄運。 –
我也想捕獲我的textview中的每一個鏈接 –
這應該工作,如果你的鏈接是在http格式,也嘗試設置android:focusable =「false」 – gbaccetta