我使用的是LoaderManager,onCreateLoader方法创建一个新的CursorLoader。
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle data) {
return new CursorLoader(context, CONTENT_URI, PROJECTION,
null, null, null);
}
只有在onLoadFinished()中完成加载后,UI才会更新。每次加载指针时,我还需要进行一些数据库操作,例如建立新的排序索引。这不能异步完成,因为UI依赖于此。
有没有办法在加载程序中执行这种数据库操作?或针对此问题的最佳设计是什么?
根据您的问题,您正在使用加载程序和内容提供程序从数据库加载数据
您也正在研究事物的分类类型,这可以更改数据库中项目的顺序...
因此,根据我在此类应用程序中的经验,我建议的最佳方法是仅在util用户离开屏幕时才在UI中执行索引排序操作...
因此,在片段活动中,您将覆盖onStop方法并根据排序优先级或数字来更新数据库中的数据索引...
在将数据更新到内容提供商之后,只需通知URI进行更改即可。
希望我的观点对您清楚。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句