- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
目前,我有一个装载机
@Override
public Loader<List<HomeMenuRowInfo>> onCreateLoader(int arg0, Bundle bundle) {
return new HomeMenuRowInfosLoader(this.getSherlockActivity());
}
有时,由于内容更改,我需要让加载器重新加载。我会这样做。
this.getLoaderManager().getLoader(0).onContentChanged();
但是,我想在内容更改时将一些额外的包信息传递给 onCreateLoader
回调。我通过使用 onContentChanged
意识到,没有办法这样做。
我唯一能想到的就是
this.getLoaderManager().restartLoader(0, bundle, this);
我想知道,除了传入的能力之外,使用 restartLoader
而不是 onContentChanged
的 Loader
行为是否有任何重大差异 bundle ?
最佳答案
我认为,主要区别在于 restartLoader
方法会破坏具有相同 ID 的旧加载器并启动一个新加载器,而 onContentChanged
方法要么强制加载器加载 (forceLoad
) 或简单地设置一个标志,指示在加载程序停止时内容已更改。在第二种情况下,加载程序的“所有者”在内容更改后仍然负责其(重新)加载。我假设这是由 loaderManager
自动完成的,就像在 restartLoader
的情况下一样。
如果您决定使用 restartLoader
方法,您应该牢记旧加载器的破坏以及对您的应用程序可能产生的影响,例如缓慢的重新初始化等。
您可以查看方法文档以获取更多信息 - restartLoader
和 onContentChanged
另请注意,旧加载器当新加载器完成其工作时被销毁
关于android - restartLoader 和 onContentChanged 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16728237/
Here jsFiddle to test sample 我目前正在编写一个 jQuery 片段来处理由任何 jQuery domManip 函数(扩展某些函数)“触发”的 DOM 中的任何 html
我仍在尝试通过在 listView 上使用 cursorAdapter 来编写好的代码。 我希望在我的 Activity 中,当我更改游标中的数据时,它会自动更新适配器中的游标,更新适配器,当然还有
目前,我有一个装载机 @Override public Loader> onCreateLoader(int arg0, Bundle bundle) { return new HomeMen
我的 PreferenceActivity 中有一个恢复默认设置选项.更改设置后,我调用 onContentChanged() .但出于某种原因,我的 CheckboxPreference 的视觉状态
我有一个 ListActivity。 我使用 onContentChanged() API 更新 Activity 。 我的问题是每次调用上述 API 时列表都会滚动到顶部。有什么简单的方法可以关闭此
public class MyActivity extends ActionBarActivity { @Override public void onContentChanged()
我是一名优秀的程序员,十分优秀!