我正在尝试使用CursorLoader在ListFragment中显示内容提供程序中的所有行。但它只显示前10个项目,如何让它显示所有项目?
@Override public void onActivityCreated(Bundle savedInstanceState){
super.onActivityCreated(savedInstanceState);
setEmptyText("No newsfeed items");
setHasOptionsMenu(false);
newsfeedCursorAdapter = new NewsfeedCursorAdapter(getActivity(), null);
this.setListAdapter(newsfeedCursorAdapter);
getActivity().getSupportLoaderManager().initLoader(0, null, this);
}
@Override public Loader<Cursor> onCreateLoader(int id, Bundle b){
return new CursorLoader(getActivity(), baseUri, projection, null, null, null);
}
@Override public void onLoadFinished(Loader<Cursor> loader, Cursor data){
newsfeedCursorAdapter.changeCursor(data);
}
@Override public void onLoaderReset(Loader<Cursor> loader){
newsfeedCursorAdapter.changeCursor(null);
}
当活动显示时,我看到“no newsfeed items”,然后一个intentservice从webservice中提取数据并填充我的内容提供者,我可以通过手动选择所有项目来查看sqlite db中的所有30个项目表通过adb shell。
内容提供商:
查询方法有cursor.setNotificationUri(getContext()。getContentResolver(),uri);
insert方法有getContext()。getContentResolver()。notifyChange(uri,null);