布局文件
<com.handmark.pulltorefresh.library.PullToRefreshScrollView xmlns:ptr="http://schemas.android.com/apk/res-auto" android:layout_height="match_parent" android:layout_width="match_parent" android:id="@+id/refresh_scroll_view" ptr:ptrDrawable="@drawable/default_ptr_flip" ptr:ptrAnimationStyle="flip" ptr:ptrHeaderBackground="#383838" ptr:ptrHeaderTextColor="#FFFFFF" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v4.view.ViewPager android:id="@+id/src_vp" android:layout_width="match_parent" android:layout_height="200dp"> </android.support.v4.view.ViewPager> <com.example.hasee.myapplication.view.MYListView android:id="@+id/MYList_view" android:layout_width="match_parent" android:layout_height="match_parent"></com.example.hasee.myapplication.view.MYListView> </LinearLayout> </com.handmark.pulltorefresh.library.PullToRefreshScrollView>
Activity中
private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { if (msg.what==0){ viewPager01.setCurrentItem(viewPager01.getCurrentItem()+1); handler.sendEmptyMessageDelayed(0,2000); } } }; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment03, container, false); viewPager01 = view.findViewById(R.id.src_vp); refreshRcrollView = view.findViewById(R.id.refresh_scroll_view); listView = view.findViewById(R.id.MYList_view); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); getDataFromNet();listView.setFocusable(false); refreshRcrollView.setMode(PullToRefreshBase.Mode.BOTH); //3.通过getLoadingLayoutProxy 方法来指定上拉和下拉时显示的状态的区别(也就是设置向下拉的时候头部里面显示的文字) //此时这里设置的是下拉刷新的时候显示的文字,所以第一个设置true表示现在是刷新,第二个设置为false startLabels = refreshRcrollView.getLoadingLayoutProxy(true, false); startLabels.setPullLabel("下拉刷新"); startLabels.setRefreshingLabel("正在刷新..."); startLabels.setReleaseLabel("放开刷新"); ILoadingLayout endLabels = refreshRcrollView.getLoadingLayoutProxy(false, true); endLabels.setPullLabel("上拉刷新"); endLabels.setRefreshingLabel("正在载入..."); endLabels.setReleaseLabel("放开刷新..."); LunBoTu(); /** * 监听事件 */ refreshRcrollView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ScrollView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) { getRefreshData(); } @Override public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) { page_num++; getDataFromNet(); } }); } private void LunBoTu() { NetDataUtil.getData("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+page_num, getActivity(), new JsonStringCallaBack() { @Override public void getJsonString(String json) { //解析 Gson gson = new Gson(); DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class); MyAdapterImage myAdapterImage = new MyAdapterImage(getActivity(),list); viewPager01.setAdapter(myAdapterImage); viewPager01.setCurrentItem(list.size()*10000); handler.sendEmptyMessageDelayed(0,2000); } }); } private void getRefreshData() { NetDataUtil.getData("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+page_num, getActivity(), new JsonStringCallaBack() { @Override public void getJsonString(String json) { //解析 Gson gson = new Gson(); DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class); //往后面添加... list.addAll(0,dataDataBean.getData()); //设置适配器 setAdapter(); //停止刷新 refreshRcrollView.onRefreshComplete(); Date date = new Date(System.currentTimeMillis()); SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm"); startLabels.setLastUpdatedLabel("上次刷新时间"+dateFormat.format(date)); } }); } private void getDataFromNet() { NetDataUtil.getData("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+page_num, getActivity(), new JsonStringCallaBack() { @Override public void getJsonString(String json) { //解析 Gson gson = new Gson(); DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class); //往后面添加... list.addAll(dataDataBean.getData()); //设置适配器 setAdapter(); //停止刷新 refreshRcrollView.onRefreshComplete(); } }); } private void setAdapter() { if(adapter==null){ adapter = new MyAdapter(getActivity(),list); listView.setAdapter(adapter); }else { adapter.notifyDataSetInvalidated(); } } }