スクロールするとListView
のリンクが失われるのはなぜですか?デバッグからは、convertView
のTextView
にスパンが2回追加されないことは明らかです。ListViewの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()
URLSpan
を拡張してMyCustomSpan
とSpannableString
を作成します。
問題は、私が上下にスクロールすると、ListView
のリンクが失われることです。一方、画面が最初に開かれたときは、正しく設定されています。
は、今私はconvertView
の再利用を無効にすることで、汚れの修正をした:(任意のアイデアを、より良い、この問題を解決する方法?のTextViewのデータを保持するために小包に書き込まれたときspannable情報の
getViewメソッド(または、CursorAdapterを拡張する場合はbindViewとnewView)。 –