3

Thread BBS アプリを開発しました。スレッドには ListView を使用します。ListView にはいくつかの TextView があり、TextView にはいくつかの Clickable URLSpan があります。


textview1 私の名前

textview2 メッセージ メッセージ メッセージ。本文http://google.co.jp/ 本文 メッセージ メッセージ メッセージ。


以下のアクションを実行したいのですが、実行できません。

urlspan(link) 以外の行をタップすると、onListItemClick イベントが発生しました。urlspan をタップすると、onListItemClick イベントが発生せず、URLSpan の OnClick イベントが発生しました。

ListView の ArrayAdapter に以下のコードを記述します。

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 イベントは発生していません。

このアクションをどのように実現できますか?

4

0 に答える 0