android-pulltorefresh的使用浅析

android-pulltorefresh的使用

两种方法:

  • android-pulltorefresh的相关类文件,以及资源进行复制和粘贴进行导入。
  • 或者
  • 使用他本身的library,进行引用。
    方式:在project.properties文件中指定引用的位置:android.library.reference.1=library/Android-PullToRefresh
    “1”代表第一个引用的库
  • 使用pulltorefresh来代替listview,实质是:继承了Listview并实现了OnScrollListener的接口
      <com.markupartist.android.widget.PullToRefreshListView
              android:id="@+id/android:list"
              android:layout_height="fill_parent"
              android:layout_width="fill_parent"
              />
    
    修改下拉出现的刷新的view的控制在pulltorefreshonScroll()的方法中,并且需要加载刷新出现头部的布局
  • 两种实现方式,

    • 一种继承listactivity(默认listview的为@+id/android:list,可选项的view为:@id/android:empty

        setContentView(R.layout.pull_to_refresh);
        mPullToRefreshListView=(PullToRefreshListView) getListView();
      
    • 一种继承activity

        mPullToRefreshListView = (PullToRefreshListView)findViewById(R.id.my_list);  
        mPullToRefreshListView.setEmptyView(findViewById(R.id.empty));  
      

      这种的pulltorefresh包含了header(头部),会使得子项的点击错误的情况,既:position不从0开始,详情:
      ListView有Header时,onItemClick里的position不正确
      所以:点击pulltorefresh子项的时候,要使用parent.getAdapter().getItem(position);来进行纠错。

        @Override  
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {  
            if (DEBUG) Log.d(TAG, "onItemClick() : pos=" + position + ", id=" + id);  
            parent.getAdapter().getItem(position);  // @warning: Should not use mAdapter  
      
            // do something  
        }  
      

      使用setOnRefreshListener();进行刷新操作

        // Set a listener to be invoked when the list should be refreshed.
        mPullToRefreshListView.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh() {
                // Do work to refresh the list here.这是一个继承AsyncTask的类,进行异步加载,并隐藏头部的作用
                new GetDataTask().execute();
            }
        });
      

      参考来源:
      开源项目:android-pulltorefresh
      博客:android-pulltorefresh使用心得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值