diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/BaseThreadItemViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/BaseThreadItemViewHolder.java index e49952bc9..df02605fd 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/BaseThreadItemViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/BaseThreadItemViewHolder.java @@ -121,4 +121,9 @@ public abstract class BaseThreadItemViewHolder return textView.getContext(); } + void onViewRecycled() { + // Reset the bound message ID so an asynchronous text loading task + // won't set the view's text while it's in the recycling pool + boundMessageId = null; + } } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadItemAdapter.java b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadItemAdapter.java index 8d78007c5..093bdc8e5 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadItemAdapter.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/threaded/ThreadItemAdapter.java @@ -140,6 +140,12 @@ public class ThreadItemAdapter return getItem(position); } + @Override + public void onViewRecycled(BaseThreadItemViewHolder viewHolder) { + super.onViewRecycled(viewHolder); + viewHolder.onViewRecycled(); + } + public interface ThreadItemListener { void onReplyClick(I item);