首先说 PulltorefreshListView PullToRefreshGridView PullToRefreshWebView PullToRefreshScrollView PullToRefreshExpandableListView PullToRefreshHorizontalScrollView PullToRefreshBase PullToRefreshAdapterViewBase 一共有这么多样式
pulltoRefreshView 添加n个headView那么它被点击的项的position值就会比真实的多n+1(真实测试值)
这里真实的值是指适配器中数据的索引(0,1,2,3,4,。。。。)
在fragment中添加点击事件时listView.setAdapter一定是在最后更新否则前边更新的都会无效
此处的例子是pulltorefreshlistview 切换适配器时的例子(点击不同的区域更新适配器)
@Override public void onClick(View v) { switch (v.getId()) { case R.id.linear_zuire_huodongfragment: tv_zuire.setTextColor(Color.BLUE); line_zuire.setBackgroundColor(Color.BLUE); tv_zuixin.setTextColor(Color.BLACK); line_zuixin.setBackgroundColor(Color.parseColor("#42050206")); listView.setAdapter(hotAdapter);//-------------------------此处更新适配器一定要在最后更新否则前边的ui操作无效 break; case R.id.linear_zuixin_huodongfragment: tv_zuire.setTextColor(Color.BLACK); line_zuire.setBackgroundColor(Color.parseColor("#42050206")); tv_zuixin.setTextColor(Color.BLUE); line_zuixin.setBackgroundColor(Color.BLUE); listView.setAdapter(newAdapter);//-------------------------此处更新适配器一定要在最后更新否则前边的ui操作无效 break; } }
设置上啦加载 下拉刷新的布局
private void setPullDownLayout() { SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd"); //获取下啦布局 ILoadingLayout proxy=listView.getLoadingLayoutProxy(true,false);//true,false 意思是下拉时的布局 proxy.setPullLabel("下拉刷新"); proxy.setReleaseLabel("放开以刷新。。。"); proxy.setRefreshingLabel("玩命刷新。。。"); proxy.setLastUpdatedLabel("最后刷新时间:"+format.format(new Date())); //设置上啦加载的布局 /*ILoadingLayout proxy2=listView.getLoadingLayoutProxy(false,true); //false true 意思是上拉时的布局 proxy2.setPullLabel("请上拉加载"); proxy2.setReleaseLabel("放开以加载。。。"); proxy2.setRefreshingLabel("玩命加载。。。"); proxy2.setLastUpdatedLabel("最后加载时间:"+format.format(new Date()));*/ }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <!-- ptr:ptrAnimationStyle="flip" flip:翻转 rotate:旋转--> <!-- ptr:ptrShowIndicator="true" 右上角 右下角出现箭头--> <com.handmark.pulltorefresh.library.PullToRefreshListView xmlns:ptr="http://schemas.android.com/apk/res-auto" android:id="@+id/pullToRefresh" android:layout_width="match_parent" android:layout_height="wrap_content" ptr:ptrDrawable="@drawable/default_ptr_flip" ptr:ptrAnimationStyle="flip" //这个样式反转后会变为圆形 ptr:ptrHeaderBackground="#383838" ptr:ptrHeaderTextColor="#FFFFFF" /> </LinearLayout>