PullToRefreshListView添加头部需求

来源:互联网 发布:南宁关键字优化公司 编辑:程序博客网 时间:2024/06/12 01:27

PullToRefresh是一款非常强大的开源上下拉刷新,然而有的时候需要不同的需求时,就有点问题,比如要加一个头部Header,这个时候发现没有addHeaderView()方法,点开PullToRefreshListView,发现,他并非继承于ListView。

那么这个时候可以通过getRefreshableView()。获得listview实例,然后


通过获得的listview,addHeadView().。即可

对于上拉刷新依然是使用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() {@Overridepublic void onPullDownToRefresh(PullToRefreshBase refreshView) {// String label = DateUtils.formatDateTime(getActivity(),// System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME// | DateUtils.FORMAT_SHOW_DATE// | DateUtils.FORMAT_ABBREV_ALL);}@Overridepublic 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;


0 0