PullToRefreshListView添加头部需求

本文详细介绍了如何在PullToRefreshListView组件中添加自定义头部View,包括头部View的布局、适配器和动画效果的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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() {

			@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;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值