gpt4 book ai didi

android - 将拉取刷新设置为在开始或恢复 fragment 时刷新

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:32 25 4
gpt4 key购买 nike

我正在使用这个库 Android-PullToRefresh: https://github.com/chrisbanes/Android-PullToRefresh

我需要在 Activity 启动时实现自动“拉动刷新”,这与下拉刚刚自动触发的 fragment 具有相同的视觉和功能效果,而不是用户拉动手势。你知道我能不能做到这一点?

编辑:我的代码如下

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup group, Bundle saved)
{
View view = inflater.inflate(R.layout.layout_frg_summarized, group, false);
mPullToRefreshLayout = (PullToRefreshLayout) view.findViewById(R.id.summary_layout);
ActionBarPullToRefresh.from(getActivity())
.allChildrenArePullable()
.listener(this)
.setup(mPullToRefreshLayout);

return view;

}


@Override
public void onActivityCreated (Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);

//some code here

mPullToRefreshLayout.isRefreshing();

}

@Override
public void onResume(){
super.onResume();

if (mPullToRefreshLayout.isRefreshing()) {
mPullToRefreshLayout.setRefreshing(true);
}

}


@Override
public void onPause(){
super.onPause();
mPullToRefreshLayout.setRefreshing(false);
if (mPullToRefreshLayout.isRefreshing()) {
mPullToRefreshLayout.setRefreshComplete();
}


}

最佳答案

是的,你可以。

类似于能够调用onRefreshComplete(),还有一个setRefreshing()方法:

myRefreshableView.setRefreshing();

编辑:

看起来 onRefreshStarted 被称为 when a user-initiated refresh is started .这意味着如果您想要从代码启动您自己的刷新,您必须更新 UI 并自行启动刷新。我没有看到您用于开始下载的代码,但您必须将该方法的内容提取到另一个方法中,如下所示:

@Override
public void onRefreshStarted(View view) {
startDownload();
}

然后,当您想在代码中开始下载时(例如在 onResume 中):

@Override
public void onResume(){
super.onResume();
mPullToRefreshLayout.setRefreshing(true);
startDownload();
}

您在 onActivityCreated 中对 isRefreshing() 的调用没有任何作用 - 这是一种确认 UI 当前是否处于“刷新”状态的检查。此外,您在当前的 onResume 代码中使用该检查来执行实际上不执行任何操作的调用 - 如果布局刷新,您将其设置为刷新。

关于android - 将拉取刷新设置为在开始或恢复 fragment 时刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21006851/

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