我开发了一个Thread BBS应用程序。 我使用ListView for Thread。 ListView有一些TextViews,而TextView有一些Clickable URLSpan。
textview1 myname
textview2消息消息。 身体http://google.co.jp/ 正文消息消息。
我想在下面采取行动,但我不能。
当我点击除urlspan(链接)之外的行时,发生了onListItemClick事件。 当我点击urlspan时,onListItemClick事件尚未发生,并且已经发生了URLSpan的OnClick事件。
我在ArrayAdapter上为ListView编写下面的代码。
Spanned html = Html.fromHtml(body, new EmojiGetter(mContext), null);
SpannableString spannable = new SpannableString(html);
Pattern p = Pattern.compile("(http://google.co.jp/)");
Matcher m = p.matcher(spannable);
while(m.find()){
MyUrlSpan myUrlSpan = new MyUrlSpan("http://google.co.jp/", m.group(1));
spannable.setSpan(myUrlSpan, m.start(1), m.end(1), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
}
holder.body.setText(spannable, TextView.BufferType.SPANNABLE);
holder.body.setMovementMethod(LinkMovementMethod.getInstance());
holder.body.setFocusable(false);
holder.body.setFocusableInTouchMode(false);
但是当我点击textview2时,尚未发生onListItemClick事件。
我如何实现这一行动?