码迷,mamicode.com
首页 > 其他好文 > 详细

ListView下拉刷新

时间:2015-10-21 00:17:28      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:

打开网址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文件要一致,否则报错。

ListView下拉刷新

标签:

原文地址:http://www.cnblogs.com/changyinlu/p/4896495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!