【发布时间】:2014-12-23 05:04:26
【问题描述】:
假设我在 db 上有 1000 个项目,我想使用 LoaderManager 在 ListView 上显示它们,我应该一次加载所有这些项目吗?或者实现一个分页,例如 50 个项目,然后当用户在最后滚动时获得 50 个以上...
如果分页是正确的方法,我该如何使用 LoaderManager 来实现它?
示例加载器管理器代码:
@Override
public Loader<Cursor> onCreateLoader(int i, Bundle bundle) {
return new CursorLoader(
getActivity(),
DbProvider.URI,
null,
null,
null,
Table.ID + " desc"
);
}
@Override
public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) {
mAdapter.swapCursor(cursor);
}
@Override
public void onLoaderReset(Loader<Cursor> cursorLoader) {
mAdapter.swapCursor(null);
}
【问题讨论】:
-
一千左右应该没问题,你可以跳过分页而不会有任何性能损失
-
@pskink 可以说一百万,如果我必须实现分页,那将是使用 LoaderManager 的方法吗?
-
你说一百万?然后考虑一个自定义的 AbstractWindowedCursor
标签: android pagination