private void removeCompletedTasks() { ArrayList<Long> removedTaskIds = new ArrayList<>(); for (int i = 0, count = mTaskAdapter.getCount(); i < count; ) { Task task = mTaskAdapter.getItem(i); if (task.getDone()) { removedTaskIds.add(task.getId()); mTaskAdapter.remove(task); count--; } else { i++; } } if (removedTaskIds.isEmpty()) return; boolean first = true; String idsStr = ""; for (long id : removedTaskIds) { if (first) { first = false; } else { idsStr += ","; } idsStr += "" + id; } SQLiteDatabase db = mDbHelper.getWritableDatabase(); db.delete(Task.TABLE_NAME, String.format("%s IN (%s)", Task._ID, idsStr), new String[] {}); db.close(); }
private void onButtonClick() { String text = mEditText.getText().toString(); if (!text.isEmpty()) { mEditText.setText(""); Task task = new Task().setText(text); mTaskAdapter.insert(task, 0); SQLiteDatabase db = mDbHelper.getReadableDatabase(); ContentValues values = new ContentValues(); values.put(Task.COLUMN_TEXT, task.getText()); values.put(Task.COLUMN_DONE, task.getDone()); long taskId = db.insert(Task.TABLE_NAME, null, values); task.setId(taskId); db.close(); } }
private void onListItemClick(int position) { TasksAdapter adapter = (TasksAdapter) mListView.getAdapter(); Task task = adapter.getItem(position); task.toggleDone(); adapter.notifyDataSetChanged(); SQLiteDatabase db = mDbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(Task.COLUMN_DONE, task.getDone()); db.update( Task.TABLE_NAME, values, String.format("%s = ?", Task._ID), new String[] {"" + task.getId()}); db.close(); }