gpt4 book ai didi

android - OnLoadFinished() 调用了两次

转载 作者:IT老高 更新时间:2023-10-28 23:14:59 24 4
gpt4 key购买 nike

我想弄清楚我是否在加载程序方面做错了什么。我正在使用支持库,并且我有一个 fragment ,它在 onCreate() 调用 initLoader() 将自身设置为 LoaderCallbacks,但是在旋转时,它在 onLoadFinished() 中接收结果两次,一次是调用 init 的结果(并且它已经拥有数据),并且由于 FragmentActivity 循环遍历 onStart() 中的所有加载器并传递结果,因为它已经拥有数据。

如果我只调用一次 init(在 Fragment 首次启动时),它不会将自己设置为 Loader 的回调,因此它根本不会收到对 onLoadFinished 的调用。似乎 onLoadFinished 应该只被调用一次,因为一些昂贵的事情可能会在 onLoadFinished() 中完成(例如清除列表适配器等),所以我只是想弄清楚这是一个错误还是我是只是在错误的时间调用 init 或其他什么。

有人对此问题有任何见解吗?

最佳答案

我遇到了类似的问题,原因是我的代码中有 initLoaderrestartLoader。根据用户的操作,我的查询可能会更改,因此我需要重新启动加载程序。

解决方案是只使用 restartLoader,即使在 onResume 回调方法中将 initLoader 替换为 restartLoader

关于android - OnLoadFinished() 调用了两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14719814/

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