Merge "Null pointer tests removed from HeaderViewListAdapter."

This commit is contained in:
Gilles Debunne
2010-03-02 11:41:49 -08:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 13 deletions

View File

@@ -34,6 +34,8 @@ public class HeaderViewListAdapter implements WrapperListAdapter, Filterable {
private ListAdapter mAdapter;
// These two ArrayList are assumed to NOT be null.
// They are indeed created when declared in ListView and then shared.
ArrayList<ListView.FixedViewInfo> mHeaderViewInfos;
ArrayList<ListView.FixedViewInfo> mFooterViewInfos;
boolean mAreAllFixedViewsSelectable;
@@ -55,11 +57,11 @@ public class HeaderViewListAdapter implements WrapperListAdapter, Filterable {
}
public int getHeadersCount() {
return mHeaderViewInfos == null ? 0 : mHeaderViewInfos.size();
return mHeaderViewInfos.size();
}
public int getFootersCount() {
return mFooterViewInfos == null ? 0 : mFooterViewInfos.size();
return mFooterViewInfos.size();
}
public boolean isEmpty() {
@@ -132,12 +134,12 @@ public class HeaderViewListAdapter implements WrapperListAdapter, Filterable {
if (mAdapter != null && position >= numHeaders) {
int adjPosition = position - numHeaders;
int adapterCount = mAdapter.getCount();
if (adjPosition >= adapterCount && mFooterViewInfos != null) {
if (adjPosition >= adapterCount) {
return mFooterViewInfos.get(adjPosition - adapterCount).isSelectable;
} else {
return mAdapter.isEnabled(adjPosition);
}
} else if (position < numHeaders && mHeaderViewInfos != null) {
} else if (position < numHeaders) {
return mHeaderViewInfos.get(position).isSelectable;
}
return true;
@@ -148,12 +150,12 @@ public class HeaderViewListAdapter implements WrapperListAdapter, Filterable {
if (mAdapter != null && position >= numHeaders) {
int adjPosition = position - numHeaders;
int adapterCount = mAdapter.getCount();
if (adjPosition >= adapterCount && mFooterViewInfos != null) {
if (adjPosition >= adapterCount) {
return mFooterViewInfos.get(adjPosition - adapterCount).data;
} else {
return mAdapter.getItem(adjPosition);
}
} else if (position < numHeaders && mHeaderViewInfos != null) {
} else if (position < numHeaders) {
return mHeaderViewInfos.get(position).data;
}
return null;
@@ -184,9 +186,7 @@ public class HeaderViewListAdapter implements WrapperListAdapter, Filterable {
int adjPosition = position - numHeaders;
int adapterCount = mAdapter.getCount();
if (adjPosition >= adapterCount) {
if (mFooterViewInfos != null) {
return mFooterViewInfos.get(adjPosition - adapterCount).view;
}
return mFooterViewInfos.get(adjPosition - adapterCount).view;
} else {
return mAdapter.getView(adjPosition, convertView, parent);
}

View File

@@ -246,7 +246,7 @@ public class ListView extends AbsListView {
* added. Views added using this call can take focus if they want.
* <p>
* NOTE: Call this before calling setAdapter. This is so ListView can wrap
* the supplied cursor with one that that will also account for header
* the supplied cursor with one that will also account for header and footer
* views.
*
* @param v The view to add.
@@ -273,7 +273,7 @@ public class ListView extends AbsListView {
* added. Views added using this call can take focus if they want.
* <p>
* NOTE: Call this before calling setAdapter. This is so ListView can wrap
* the supplied cursor with one that that will also account for header
* the supplied cursor with one that will also account for header and footer
* views.
*
* @param v The view to add.
@@ -324,7 +324,7 @@ public class ListView extends AbsListView {
* added. Views added using this call can take focus if they want.
* <p>
* NOTE: Call this before calling setAdapter. This is so ListView can wrap
* the supplied cursor with one that that will also account for header
* the supplied cursor with one that will also account for header and footer
* views.
*
* @param v The view to add.
@@ -350,7 +350,7 @@ public class ListView extends AbsListView {
* than once, the views will appear in the order they were added. Views added using
* this call can take focus if they want.
* <p>NOTE: Call this before calling setAdapter. This is so ListView can wrap the supplied
* cursor with one that that will also account for header views.
* cursor with one that will also account for header and footer views.
*
*
* @param v The view to add.