为什么ListView
滚动时链接会丢失?从调试中可以清楚地看出,跨度不会第二次添加TextView
到convertView
.
这是一段从适配器调用的代码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
with MyCustomSpan
with extends URLSpan
。
ListView
问题是当我在链接中上下滚动时丢失了。而当屏幕第一次打开时,它设置正确。
现在我通过禁用convertView
:( 的重用做了一个肮脏的修复,有什么想法可以更好地解决这个问题吗?