Android_下拉刷新_通过第三方

来源:互联网 发布:超市商品毛利率知乎 编辑:程序博客网 时间:2024/06/05 15:17

1.编写布局文件

<com.handmark.pulltorefresh.library.PullToRefreshListView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/ptrlv_refresh"        ></com.handmark.pulltorefresh.library.PullToRefreshListView>2.定义全局变量 private PullToRefreshListView ptrlv_refresh; private List<String> list=new ArrayList<>(); private ArrayAdapter adapter;

3.写java代码,通过id找到控件

ptrlv_refresh = (PullToRefreshListView) findViewById(R.id.ptrlv_refresh);

4.为列表集合添加数据

for (int i = 0; i <10 ; i++) {
            list.add("HelloWord"+i+"次");
        }

5.设置适配器

        adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,list);
        ptrlv_refresh.setAdapter(adapter);

6.给ListView设置下拉刷新的监听
        ptrlv_refresh.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {

//下拉

           @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {

                new MyTask().execute();

            }
              //上拉
            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {

            }
        });

7.

class MyTask extends AsyncTask{

        //在后台 获取数据
        //内部有线程机制
        @Override
        protected Object doInBackground(Object[] objects) {

//刷新新增的数据添加在最前面

           for (int i = 0; i <3 ; i++) {
                list.add(0,"你好"+i+"次");
            }
          
            return null;
        }

        //更新UI
        @Override
        protected void onPostExecute(Object o) {
            super.onPostExecute(o);

            ptrlv_refresh.onRefreshComplete();
            //通知适配器数据 发生改变
            adapter.notifyDataSetChanged();

        }

原创粉丝点击