From 247a0f0a16f956c463644f732dacb6c8d0979ba3 Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Tue, 13 Sep 2011 13:11:29 -0700 Subject: [PATCH] Fix bug 5226097 - App compatibility issues around new ListView fixes Only dispatch change events when headers/footers change if we have an adapter. Change-Id: Ic5d68ea214196771d76f6a88186aaf5f8ed4c4cf --- core/java/android/widget/ListView.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java index 5a973179f3f78..e37ccf81a1e4a 100644 --- a/core/java/android/widget/ListView.java +++ b/core/java/android/widget/ListView.java @@ -264,7 +264,7 @@ public class ListView extends AbsListView { // in the case of re-adding a header view, or adding one later on, // we need to notify the observer - if (mDataSetObserver != null) { + if (mAdapter != null && mDataSetObserver != null) { mDataSetObserver.onChanged(); } } @@ -299,7 +299,7 @@ public class ListView extends AbsListView { public boolean removeHeaderView(View v) { if (mHeaderViewInfos.size() > 0) { boolean result = false; - if (((HeaderViewListAdapter) mAdapter).removeHeader(v)) { + if (mAdapter != null && ((HeaderViewListAdapter) mAdapter).removeHeader(v)) { if (mDataSetObserver != null) { mDataSetObserver.onChanged(); } @@ -350,7 +350,7 @@ public class ListView extends AbsListView { // in the case of re-adding a footer view, or adding one later on, // we need to notify the observer - if (mDataSetObserver != null) { + if (mAdapter != null && mDataSetObserver != null) { mDataSetObserver.onChanged(); } } @@ -384,7 +384,7 @@ public class ListView extends AbsListView { public boolean removeFooterView(View v) { if (mFooterViewInfos.size() > 0) { boolean result = false; - if (((HeaderViewListAdapter) mAdapter).removeFooter(v)) { + if (mAdapter != null && ((HeaderViewListAdapter) mAdapter).removeFooter(v)) { if (mDataSetObserver != null) { mDataSetObserver.onChanged(); }