PullToRefreshListView 的简单实现

来源:互联网 发布:环信java服务器端搭建 编辑:程序博客网 时间:2024/05/16 12:48
1.想要实现

PullToRefreshListView

先要导入  

PullToRefreshListView   的libary包   并实现联动
2.在xml中实现
PullToRefreshListView   的控件
<com.handmark.pulltorefresh.library.PullToRefreshListView    android:id="@+id/pull_refresh_list"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:cacheColorHint="#00000000"    android:divider="#19000000"    android:dividerHeight="4dp"    android:fadingEdge="none"    android:fastScrollEnabled="false"    android:footerDividersEnabled="false"    android:headerDividersEnabled="false"    android:smoothScrollbar="true" />
3.在Activity 中实现
PullToRefreshListView  的上拉下拉效果
//获取控件
   pi = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);      //设置可以上拉      pi.setMode(PullToRefreshBase.Mode.BOTH);
       //添加头布局使用的方法//      ListView refreshableView = pi.getRefreshableView();   //   refreshableView.addHeaderView();      //设置上下拉得监听事件      shuju();      pi.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {          //下拉          @Override          public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {             data.clear();              shuju();          }          //上拉          @Override          public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {            la();          }      });
public void shuju(){    new Thread(){        @Override        public void run() {            super.run();            final String getjson = Qinqiu.getjson();            runOnUiThread(new Runnable() {                @Override                public void run() {                    Gson gson = new Gson();                    JBean jBean = gson.fromJson(getjson, JBean.class);                    data = jBean.data;                    sheipei = new Sheipei();                    pi.setAdapter(sheipei);                    pi.onRefreshComplete();//设置让刷新关闭                }            });        }    }.start();}public void la(){    new Thread(){        @Override        public void run() {            super.run();           // final String getjson = Qinqiu.getjson();            runOnUiThread(new Runnable() {                @Override                public void run() {                    data.addAll(data);                    sheipei.notifyDataSetChanged();//刷新适配器                    pi.onRefreshComplete();//设置让刷新关闭                    //pi.onRefreshComplete();//设置让刷新关闭                }            });        }    }.start();}