Android 响应下拉刷新

响应下拉手势

当你做出一个下拉手势的时候,系统显示 进度条指示器,并且调用你的回调方法,数据更新操作就在这个回调方法里

具体来说,就是要实现 SwipeRefreshLayout.OnRefreshListener 并且实现它的 onRefresh() 方法

你应该将你的更新方法 放在一个独立的方法中,然后在 onRefresh() 中调用这个方法。

示例:

mySwipeRefreshLayout.setOnRefreshListener(
    new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            Log.i(LOG_TAG, "onRefresh called from SwipeRefreshLayout");

            // This method performs the actual data-refresh operation.
            // 重要:在这个方法结束的时候要将指示器设为 false
            myUpdateOperation();
        }
    }
);

响应一个更新的action

如果 用户使用一个 action bar 来请求更新,那么系统会调用 onOptionItemSelected() 方法,(这里就是为什么要将更新的方法独立写的原因,可以在这里复用)

重写 onOptionItemSelected() 方法,在重写的方法中, 进度条指示器 的状态可以用 setRefreshing() 方法确定,当你更新完了之后,要记得将 当前指示器的状态设为 false

代码如下:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {

        // 判断是否点击的是更新按钮
        case R.id.menu_refresh:
            Log.i(LOG_TAG, "Refresh menu item selected");

            // 将指示器设为 显示
            mySwipeRefreshLayout.setRefreshing(true);

            // Start the refresh background task.
            // This method calls setRefreshing(false) when it's finished.
            myUpdateOperation();

            return true;
    }

    // User didn't trigger a refresh, let the superclass handle this action
    return super.onOptionsItemSelected(item);

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值