您的位置:首页 > 移动开发 > Android开发

Android 响应下拉刷新

2016-07-29 15:53 441 查看

响应下拉手势

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

具体来说,就是要实现
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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android