From d319132c1b7d05cf31c746b256fb9ed721b0a131 Mon Sep 17 00:00:00 2001 From: YuviPanda Date: Sat, 2 Feb 2013 22:48:30 +0530 Subject: [PATCH] Avoid loading the same image multiple times. Prevents 'flashing' when content of a list item changes --- .../commons/contributions/ContributionsActivity.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java index c9f1d7bce..bea567a60 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java @@ -70,14 +70,17 @@ public class ContributionsActivity extends AuthenticatedActivity implements Load @Override public void bindView(View view, Context context, Cursor cursor) { - ImageView image = (ImageView)view.findViewById(R.id.contributionImage); + ImageView imageView = (ImageView)view.findViewById(R.id.contributionImage); TextView titleView = (TextView)view.findViewById(R.id.contributionTitle); TextView stateView = (TextView)view.findViewById(R.id.contributionState); Uri imageUri = Uri.parse(cursor.getString(COLUMN_LOCALURI)); int state = cursor.getInt(COLUMN_STATE); - ImageLoader.getInstance().displayImage(imageUri.toString(), image, contributionDisplayOptions); + if(imageView.getTag() == null || !imageView.getTag().equals(imageUri.toString())) { + ImageLoader.getInstance().displayImage(imageUri.toString(), imageView, contributionDisplayOptions); + imageView.setTag(imageUri.toString()); + } titleView.setText(cursor.getString(COLUMN_FILENAME)); if(state == Contribution.STATE_COMPLETED) {