Guest User

Untitled

a guest
Jul 17th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. public class MyListActivity extends ListActivity {
  2. private MyCursorAdapter adapter;
  3. private SQLiteDatabase db = null;
  4.  
  5. @Override
  6. public void onCreate(Bundle savedInstanceState) {
  7. super.onCreate(savedInstanceState);
  8.  
  9. try {
  10. new RetrieveCursorTask(this).execute((Void[]) null);
  11. } catch (Exception e) {
  12. }
  13. }
  14.  
  15. @Override
  16. protected void onDestroy() {
  17. super.onDestroy();
  18.  
  19. // Null out the cursor.
  20. if (adapter != null) {
  21. adapter.changeCursor(null);
  22. adapter = null;
  23. }
  24.  
  25. if (db != null && db.isOpen()) {
  26. db.close();
  27. }
  28. }
  29.  
  30. private class RetrieveCursorTask extends AsyncTask<Void, Void, Cursor> {
  31. private Context ctx;
  32.  
  33. public RetrieveCursorTask(Context ctx) {
  34. this.ctx = ctx;
  35. }
  36.  
  37. @Override
  38. protected Cursor doInBackground(Void... params) {
  39. Cursor cursor = null;
  40. DbHelper helper = new DbHelper(ctx);
  41.  
  42. try {
  43. db = helper.getReadableDatabase();
  44. cursor = db.query("users",
  45. new String[] {
  46. DbHelper.ID_COLUMN,
  47. DbHelper.UID_COLUMN
  48. },
  49. null, null, null, null, null);
  50. startManagingCursor(cursor);
  51. } catch (Exception e) {
  52. }
  53. return cursor;
  54. }
  55.  
  56. @Override
  57. protected void onPostExecute(Cursor cursor) {
  58. super.onPostExecute(cursor);
  59.  
  60. if (cursor != null) {
  61. try {
  62. adapter = new MyCursorAdapter(ctx, cursor);
  63. } catch (Exception e) {
  64. }
  65. setListAdapter(adapter);
  66. }
  67. }
  68. }
  69.  
  70. private class MyCursorAdapter extends CursorAdapter {
  71. private Context ctx;
  72.  
  73. public MyCursorAdapter(Context context, Cursor c) {
  74. super(context, c);
  75. this.ctx = context;
  76. }
  77.  
  78. @Override
  79. public void bindView(View view, Context context, Cursor cursor) {
  80. // ...
  81. }
  82.  
  83. @Override
  84. public View newView(Context context, Cursor cursor, ViewGroup parent) {
  85. // ...
  86. }
  87. }
  88. }
  89.  
  90. @Override
  91. protected void onPostExecute(Cursor cursor) {
  92. super.onPostExecute(cursor);
  93.  
  94. synchronized(anyObject) {
  95. if (cursor != null) {
  96. try {
  97. adapter = new MyCursorAdapter(ctx, cursor);
  98. } catch (Exception e) {
  99. }
  100. setListAdapter(adapter);
  101. }
  102. }
  103. }
Add Comment
Please, Sign In to add comment