Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class MyListActivity extends ListActivity {
- private MyCursorAdapter adapter;
- private SQLiteDatabase db = null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- try {
- new RetrieveCursorTask(this).execute((Void[]) null);
- } catch (Exception e) {
- }
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- // Null out the cursor.
- if (adapter != null) {
- adapter.changeCursor(null);
- adapter = null;
- }
- if (db != null && db.isOpen()) {
- db.close();
- }
- }
- private class RetrieveCursorTask extends AsyncTask<Void, Void, Cursor> {
- private Context ctx;
- public RetrieveCursorTask(Context ctx) {
- this.ctx = ctx;
- }
- @Override
- protected Cursor doInBackground(Void... params) {
- Cursor cursor = null;
- DbHelper helper = new DbHelper(ctx);
- try {
- db = helper.getReadableDatabase();
- cursor = db.query("users",
- new String[] {
- DbHelper.ID_COLUMN,
- DbHelper.UID_COLUMN
- },
- null, null, null, null, null);
- startManagingCursor(cursor);
- } catch (Exception e) {
- }
- return cursor;
- }
- @Override
- protected void onPostExecute(Cursor cursor) {
- super.onPostExecute(cursor);
- if (cursor != null) {
- try {
- adapter = new MyCursorAdapter(ctx, cursor);
- } catch (Exception e) {
- }
- setListAdapter(adapter);
- }
- }
- }
- private class MyCursorAdapter extends CursorAdapter {
- private Context ctx;
- public MyCursorAdapter(Context context, Cursor c) {
- super(context, c);
- this.ctx = context;
- }
- @Override
- public void bindView(View view, Context context, Cursor cursor) {
- // ...
- }
- @Override
- public View newView(Context context, Cursor cursor, ViewGroup parent) {
- // ...
- }
- }
- }
- @Override
- protected void onPostExecute(Cursor cursor) {
- super.onPostExecute(cursor);
- synchronized(anyObject) {
- if (cursor != null) {
- try {
- adapter = new MyCursorAdapter(ctx, cursor);
- } catch (Exception e) {
- }
- setListAdapter(adapter);
- }
- }
- }
Add Comment
Please, Sign In to add comment