ListView
时,为什么链接会丢失?从调试中可以明显看到,在convertView
上第二次没有添加标签到TextView
。这是适配器的
getView
调用的代码片段。 ...
String body = MyItemDetails.getBody(); // String to linkify
final Spannable spannable = MyCustomUri.addHashtagSpans(context, body);
viewHolder.textView.setText(spannable);
viewHolder.textView.setTextIsSelectable(true); // adds additional spans
viewHolder.textView.setMovementMethod(ArrowKeyMovementMethod.getInstance());
viewHolder.textView.setAutoLinkMask(Linkify.WEB_URLS);
...
MyCustomUri.addHashtagSpans()
创建了一个 SpannableString
,其中包含继承自 URLSpan
的 MyCustomSpan
。
问题在于,当我在 ListView
中上下滚动时,链接会丢失。然而,当屏幕第一次打开时,它设置正确。
现在,我通过禁用对 convertView
的重用来进行了一次不怎么好的修复 :( 有什么更好的解决办法吗?