2010-08-19 45 views
2

我目前有这个。Android:是否有可能在TextView中使用spanned的部分文本焦点?

ClickableSpan span = new ClickableSpan(...){...}; 

String text = "I am some <b>awesome</b> text"; 
Spanned spanned = Html.fromHtml(text); 
SpannableStringBuilder builder = new SpannableStringBuilder(spanned); 
int start = builder.nextSpanTransition(0, builder.length(), StyleSpan.class); 
int stop = builder.nextSpanTransition(start, builder.length(), StyleSpan.class); 
builder.setSpan(span, start, stop, Spanned.SPAN_INCLUSIVE_EXCLUSIVE); 
textView.setText(builder); 

TextView呈现的文字中带有“真棒”字样的粗体和下划线(Yay)。然而,在我看来,我无法集中我在clickablespan中指定的文本的分区域。我可以通过触摸事件点击它,但我无法专注。我正在测试这在Android 1.5 + 2.1。我也尝试了UrlSpan。

我也尝试过使用ClickableSpan来实际上将onClick监听器附加到整个文本块,但这不会给出区域焦点,只是使点击更容易。请帮忙

回答

2

好吧我只是想通了。我原本是在查看UrlSpan文档,然后盲目实施ClickableSpan。

textView.setMovementMethod(LinkMovementMethod.getInstance()); 

神奇地通过这个无证类的权力......它的作品。所以基本上我认为是怎么回事,MovementMethod是一种提供textview和处理光标输入的策略的方法。

相关问题