/* * 设置ListView的adapter之前先添加footer, * 避免footer的添加在设置adapter之后出现的转换到HeaderViewListAdapter的异常 * @see * com.uit.pullrefresh.swipe.RefreshLayout#setAdapter(android.widget.ListAdapter * ) */ @Override public void setAdapter(ListAdapter adapter) { if (mAbsListView.getFooterViewsCount() == 0) { mAbsListView.addFooterView(mListViewFooter); } super.setAdapter(adapter); // 添加只是为了在ListView的setAdapter方法时将Adapter包装成HeaderViewListAdapter。因此并不需要footer,因此添加后再移除, mAbsListView.removeFooterView(mListViewFooter); }
@Override public void setLoading(boolean loading) { super.setLoading(loading); if (isLoading && mAbsListView.getFooterViewsCount() == 0) { mAbsListView.addFooterView(mListViewFooter); } else { if (mAbsListView.getAdapter() instanceof HeaderViewListAdapter) { mAbsListView.removeFooterView(mListViewFooter); } else { mListViewFooter.setVisibility(View.GONE); } mYDown = 0; mLastY = 0; } }