ListView下拉刷新

打开网址github.com/chrisbanes/Android-PullToRefresh/进行下载

解压后即可导入项目中,这时有四个文件,分别为:LauncherActivity、library、

PullToRefreshListFragment、PullToRefreshViewPager,此时都报错,这是因为

他们引用的类库无效了,直接右键报错的文件,再属性删掉不可用的引用库在重

新引用即可。library由两个PullToXXX引用,两个PullToXXX又由LauncherActivity(案例)引用。

github提供的案例很好,下面练练手:

 

新建自己的一个小案例(MyRefreshListView),右键项目属性,把以上的上个类库引入,在布局中添加组件:

 

<com.handmark.pulltorefresh.library.PullToRefreshListView

        android:id="@+id/mylv"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"/>

 

 

在主类(MainActivity.java)中:

声明:

private PullToRefreshListView lv;

private ArrayAdapter<String> adapter;

 

在onCreate中:

        lv = (PullToRefreshListView) findViewById(R.id.mylv);

       

        List<String> arr = new ArrayList<String>();//对应下面的addAll()

        arr.add("飞牛");

        arr.add("冲天");

       

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arr);

        lv.setAdapter(adapter);

       

        lv.setOnRefreshListener(new OnRefreshListener<ListView>() {

 

            @Override

            public void onRefresh(PullToRefreshBase<ListView> refreshView) {

                new AsyncTask<Void, Void, Void>() {

 

                    @Override

                    protected Void doInBackground(Void... params) {

                        try {

                            Thread.sleep(3000);

                        } catch (InterruptedException e) {

                            e.printStackTrace();

                        }                       

                        return null;

                    }      

                    //操作主线程

                    @SuppressLint("NewApi")

                    @Override

                    protected void onPostExecute(Void result) {

                        adapter.addAll("欢迎","归来");//上面填充的数据必须要用集合而不是数组

                       

                        lv.onRefreshComplete();//通知ListView成功加载数据                      

                    }

                }.execute();                   

            }          

           

        });

  

值得注意的是:在引入类库的后,项目与库的.jar文件要一致,否则报错。

posted @   飞牛冲天  阅读(150)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示