am e89c65fb: am 8830db0a: Merge "Never fully detach header or footer views in AbsListView" into mnc-dev
* commit 'e89c65fb94a62c3547b83a527107f6fbd824d78a': Never fully detach header or footer views in AbsListView
This commit is contained in:
@@ -6605,8 +6605,8 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
|
||||
void addScrapView(View scrap, int position) {
|
||||
final AbsListView.LayoutParams lp = (AbsListView.LayoutParams) scrap.getLayoutParams();
|
||||
if (lp == null) {
|
||||
// Can't recycle, skip the scrap heap.
|
||||
getSkippedScrap().add(scrap);
|
||||
// Can't recycle, but we don't know anything about the view.
|
||||
// Ignore it completely.
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -6616,8 +6616,12 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
|
||||
// should otherwise not be recycled.
|
||||
final int viewType = lp.viewType;
|
||||
if (!shouldRecycleViewType(viewType)) {
|
||||
// Can't recycle, skip the scrap heap.
|
||||
getSkippedScrap().add(scrap);
|
||||
// Can't recycle. If it's not a header or footer, which have
|
||||
// special handling and should be ignored, then skip the scrap
|
||||
// heap and we'll fully detach the view later.
|
||||
if (viewType != ITEM_VIEW_TYPE_HEADER_OR_FOOTER) {
|
||||
getSkippedScrap().add(scrap);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user