android - onLoadFinished 在返回之前不会在屏幕外 fragment 上调用

标签 android android-fragments android-loadermanager android-loader

我正在尝试实现带有详细信息分页的 List->Detail 方案。

我有一个用于 ListView 的 Activity 和一个用于 ViewPager 的不同 Activity。 在 FragmentStatePagerAdapter.getItem 中,我为页面安装新 fragment 并通过 setArguments Bundle 传递项目 ID。

打开 pager Activity 后,会创建两个 Fragment 页面并调用 onCreate、onCreateView、onActivityCreated。

但是

onLoadFinished 仅针对第一个 fragment (当前可见)调用。 如果我返回 onLoadFinished,则会为第二个 Fragment 调用。

奇怪的是,当我滑动到第二个(第三个未调用 onLoadFinished)时,返回到第一个并再次前进到第二个 OnLoadFinished 被调用用于第三个 fragment 和每个下一个 - 在返回和前进之后总是下一个 fragment 被完全预先创建。

这是错误还是功能? 可以强制完全加载到什么程度?

最佳答案

我们通过在 onCreate 中手动调用 onStart 和 onResume 解决了这个问题。然后调用 onLoadFinished

关于android - onLoadFinished 在返回之前不会在屏幕外 fragment 上调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18700436/

相关文章:

android - 在 android fragment 上添加动态内容

android - orientation change 变为 null 后的回调

android - 自定义 AsyncTaskLoader 回调的问题

android - 从自定义 ListView 类中刷新 ListView

android - 如何阻止android中的传入消息?

java - 如何使用 float 操作按钮(fab)创建新 Activity ?

android - 如果 react native android build 失败如何解决?

android - 通过一个开发者帐户提交到 Google Play 商店的所有应用程序是否都需要使用相同的 key 进行签名?

android - 如何在 android 中制作多级(超过 3 级)抽屉导航?

android-fragments - 当我从 TabFragment 使用 LoaderManager 启动片段时,为什么 Tablayout 和 Viewpager 会因 NullpointerException 崩溃?