草庐IT

asynctaskloader

全部标签

android - 如果在 AsyncTaskLoader 运行期间发生方向更改,则不会调用 LoaderCallbacks.onLoadFinished

使用android-support-v4.jar和FragmentActivity(此时没有Fragment)我有一个AsyncTaskLoader,我开始加载它,然后在后台线程仍在运行时更改方向。在我的日志中,我看到响应来自后台请求。响应完成,我希望onLoadFinished()被调用,但它永远不会。作为一种故障排除方法,在Manifest中,如果我设置android:configChanges="orientation"onLoadFinished()会按预期调用。我的Activity实现了加载器回调。在LoaderManager.initLoader()的源代码中,我看到如果加

android - AsyncTaskLoader onLoadFinished 有一个挂起的任务和配置更改

我正在尝试使用AsyncTaskLoader在后台加载数据以填充详细View以响应选择的列表项。我已经让它大部分工作了,但我仍然有一个问题。如果我在列表中选择第二个项目,然后在第一个选定项目的加载完成之前旋转设备,那么onLoadFinished()调用将向Activity报告被停止而不是新的Activity。当只选择一个项目然后旋转时,这很好用。这是我正在使用的代码。Activity:publicfinalclassDemoActivityextendsActivityimplementsNumberListFragment.RowTappedListener,LoaderManag

android - AsyncTaskLoader onLoadFinished 有一个挂起的任务和配置更改

我正在尝试使用AsyncTaskLoader在后台加载数据以填充详细View以响应选择的列表项。我已经让它大部分工作了,但我仍然有一个问题。如果我在列表中选择第二个项目,然后在第一个选定项目的加载完成之前旋转设备,那么onLoadFinished()调用将向Activity报告被停止而不是新的Activity。当只选择一个项目然后旋转时,这很好用。这是我正在使用的代码。Activity:publicfinalclassDemoActivityextendsActivityimplementsNumberListFragment.RowTappedListener,LoaderManag

android - 在从 AsyncTaskLoader 完成 onLoadFinished 后动态更新 Fragment 的 UI - 无法获取 ViewGroup

以前,我有一个Fragment,它根据耗时的获取数据更新其UI。publicclassHomeMenuFragmentextendsSherlockFragment{@OverridepublicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){Infosarg1=performTimeConsumingDataStructureLoading();//AddinvariousUIviewsinv,accordingtoinformationinloaded//dat

android - 使用 AsyncTaskLoader 填充 ListView

我在使用AsyncTaskLoader时遇到问题。这是我第一次尝试使用加载程序从SQLite数据库填充ListView。一切似乎都很好,当我旋转屏幕时,数据被缓存并且不再进行任何查询。但是当我按下主页按钮并再次启动我的应用程序时,数据会再次加载。注意:Usuario表示用户,所以我用用户列表填充ListView。publicclassMainextendsSherlockFragmentActivityimplementsLoaderManager.LoaderCallbacks>{UsuarioAdapteradapter;ListViewlistView;Databasedb;@O

android - Service + BroadcastReceiver 对 vs Loader/AsyncTaskLoader

是否存在AsyncTaskLoader比Service+BroadcastReceiver对更合适的情况?或者从这个意义上说装载机是多余的吗?在游标的情况下,使用Service+ContentProvider对而不是加载程序不是总是更好吗?我正在尝试查看Loaders是否是android所必需的,或者它是否只是存在但其用处充其量是多余的。所以基本上,它们重要吗?在什么情况下它们比其他任何对象都更适合这项工作? 最佳答案 加载器提供缓存。使用加载程序时,使用UI(尤其是屏幕旋转)通常更容易,因为LoaderManager已连接到Act

android - AsyncTaskLoader 不会调用 onLoadFinished 除非我在 loadInBackground 中返回一个新对象

我有一个AsyncTaskLoader>带有成员变量Listm地址。在loadInBackground,如果我创建一个新对象,填充它,然后返回它;onLoadFinished按预期调用,因此我可以更新适配器,进而更新View。publicListloadInBackground(){//ListViewupdatesproperlyonlyifIdothis(strange?)mAddresses=newArrayList();//...fillmAddresses...returnmAddresses;}但是,如果我尝试使用同一个变量,即使它的值发生变化onLoadFinished确

android - 带缓存的自定义 AsyncTaskLoader

有几个关于如何实现自定义AsyncTaskLoader的教程,但我发现没有一个讨论如何处理数据缓存-在所有这些教程中,数据都只是加载和传送。您能否给我一些提示,说明如何实现自定义AsyncTaskLoader,它会立即返回数据的缓存版本,但同时请求更新数据并在数据到达时立即提供更新版本?这甚至可以通过加载器实现,还是我必须使用另一种机制?背景:我有一个IntentService,它接受数据加载请求并在广播中传送结果。我有一个UI(ListView),它应该显示来自ArrayAdapter或CrusorAdapter的数据。我需要一些“缓存”层来保持最新已知版本的数据立即显示,但在新数据

android - 如何中断AsyncTaskLoader的后台线程?

当我调用cancelLoad()时,有什么方法可以中断AsyncTaskLoader的loadInBackground()线程吗?我相信AsyncTask.cancel()会执行此操作,但任务变量是私有(private)的,无法访问。 最佳答案 为此使用stopLoading()或abandon()或reset()文章:https://plus.google.com/117981280628062796190/posts/8b9RmQvxudb 关于android-如何中断AsyncTa

android - AsyncTaskLoader 与 Asyncqueryhandler

谁能告诉我AsyncTaskLoader和AsyncQueryHandler之间的区别?我想在我的应用程序中使用AsynTaskLoader。我的应用程序中现有的是AsyncQueryHandler。关于AsyncTaskLoader是AsyncQueryHandler的替代品,我说得对吗?如果我错了请纠正我。我是android的新手。 最佳答案 如果你阅读文档:AsyncQueryHandler:AhelperclasstohelpmakehandlingasynchronousContentResolverquerieseasi