gpt4 book ai didi

android - SwipeRefreshLayout 和刷新状态

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:43:56 28 4
gpt4 key购买 nike

我正在为 Google 支持库的 SwipeRefreshLayout 中的文档而苦苦挣扎。

当我使用 setOnRefreshListener 设置的回调接收到刷新调用时,我执行了我的操作,之后我发现我需要再次将刷新状态设置为 false - 如果我不这样做那个,我再也不能通过滑动来触发它了!

    mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout);
if (mSwipeRefreshLayout != null) {

mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
Toast.makeText(getApplication(), "Refreshing!", Toast.LENGTH_SHORT).show();
//requestDataRefresh();
mSwipeRefreshLayout.setRefreshing(false);
}
});
}

到目前为止,还不错。但是看看setRefreshing的文档:

/**
* Notify the widget that refresh state has changed. Do not call this when
* refresh is triggered by a swipe gesture.
*
* @param refreshing Whether or not the view should show refresh progress.
*/
public void setRefreshing(boolean refreshing) {...

但是再次将刷新状态设置为false正是我刷新后要做的事情!

是文档有误还是我看错了?文档不应该说:“当滑动手势触发刷新时,不要用刷新状态调用它”??

你怎么看?

最佳答案

当您从上到下滑动SwipeRefreshLayout 时,setRefreshing(true) 会自动触发。所以你不需要重复调​​用 setRefreshing(true)。同时,如果您调用 setRefreshing(true) 而不是滑动 SwipeRefreshLayout,您将在滑动 SwipeRefreshLayout 时看到相同的场景。而且无论调用setRefreshing(true)还是从上到下滑动SwipeRefreshLayout,完成后都需要调用setRefreshing(false)你的任务。就像您在上面的代码段中所做的那样。

关于android - SwipeRefreshLayout 和刷新状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29672584/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com