版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012733501/article/details/50475403
PullToRefresh是一款非常强大的开源上下拉刷新,然而有的时候需要不同的需求时,就有点问题,比如要加一个头部Header,这个时候发现没有addHeaderView()方法,点开PullToRefreshListView,发现,他并非继承于ListView。
那么这个时候可以通过getRefreshableView()。获得listview实例,然后
对于上拉刷新依然是使用PullToRefreshListView。
具体代码如下
// 头部
AbsListView.LayoutParams layoutParams = new AbsListView.LayoutParams(
AbsListView.LayoutParams.MATCH_PARENT,
AbsListView.LayoutParams.WRAP_CONTENT);
headerView = inflater.inflate(R.layout.headview, pull, false);
AutoScrollViewPager viewPager = (AutoScrollViewPager) headerView
.findViewById(R.id.view_pager);
CirclePageIndicator indicator = (CirclePageIndicator) headerView
.findViewById(R.id.indicator);
List<Integer> imageIdList = new ArrayList<Integer>();
imageIdList.add(R.drawable.widget_autoscroollview_demo_banner1);
imageIdList.add(R.drawable.widget_autoscroollview_demo_banner2);
imageIdList.add(R.drawable.widget_autoscroollview_demo_banner3);
imageIdList.add(R.drawable.widget_autoscroollview_demo_banner4);
viewPager.setAdapter(new ImagePagerAdapter(getActivity(), imageIdList));
indicator.setViewPager(viewPager);
viewPager.setInterval(2000);
// viewPager.setSlideBorderMode(AutoScrollViewPager.SLIDE_BORDER_MODE_CYCLE);
viewPager
.setSlideBorderMode(AutoScrollViewPager.SLIDE_BORDER_MODE_NONE);
// viewPager.setSlideBorderMode(AutoScrollViewPager.SLIDE_BORDER_MODE_TO_PARENT);
viewPager.setCycle(true);
headerView.setLayoutParams(layoutParams);
ListView lv = pull.getRefreshableView();
lv.addHeaderView(headerView);
pull.setOnRefreshListener(new OnRefreshListener2() {
@Override
public void onPullDownToRefresh(PullToRefreshBase refreshView) {
// String label = DateUtils.formatDateTime(getActivity(),
// System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME
// | DateUtils.FORMAT_SHOW_DATE
// | DateUtils.FORMAT_ABBREV_ALL);
}
@Override
public void onPullUpToRefresh(PullToRefreshBase refreshView) {
// String label = DateUtils.formatDateTime(getActivity(),
// System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME
// | DateUtils.FORMAT_SHOW_DATE
// | DateUtils.FORMAT_ABBREV_ALL);
}
});
return view;