Skip to main content

Posts

Showing posts with the label cursor

Usage CursorLoader without ContentProvider

Android SDK documentation says that startManagingCursor() method is depracated: This method is deprecated. Use the new CursorLoader class with LoaderManager instead; this is also available on older platforms through the Android compatibility package. This method allows the activity to take care of managing the given Cursor's lifecycle for you based on the activity's lifecycle. That is, when the activity is stopped it will automatically call deactivate() on the given Cursor, and when it is later restarted it will call requery() for you. When the activity is destroyed, all managed Cursors will be closed automatically. If you are targeting HONEYCOMB or later, consider instead using LoaderManager instead, available via getLoaderManager()

How to update listview whose data was queried from database through SimpleCursorAdapter?

I want to show the items queried from database in the listview with SimpleCursorAdapter. For example, there may be 20,000 items in the database. I want to just load 100 items(_id : 1-100) queried instead of load all items, when scrolling in the end of listview, load another 100 items(_id : 101-200) queried, how to achieve it? Any suggestion is welcome, thanks. Relative codes are as follows: protected void onCreate(Bundle savedInstanceState) { mCursor = managedQuery(CONTENT_URI, PROJECTION, null, null, "_id DESC"); mAdapter = new SimpleCursorAdapter(this,R.layout.list_content, mCursor, keys, values); setListAdapter(mAdapter); } In my defined listview, i want to load more items by query database. public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { int lastItem = firstVisibleItem + visibleItemCount - 1; if (mListAdapter != null) { if ((lastItem == mListAdapter.getCount()-1) && (mRefr