/** * Add a new item * * @param view The view that originated the call */ public void addItem(View view) { if (mClient == null) { return; } // Create a new item final ToDoItem item = new ToDoItem(); item.setText(mTextNewToDo.getText().toString()); item.setComplete(false); // Insert the new item AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>() { @Override protected Void doInBackground(Void... params) { try { final ToDoItem entity = addItemInTable(item); runOnUiThread( new Runnable() { @Override public void run() { if (!entity.isComplete()) { mAdapter.add(entity); } } }); } catch (final Exception e) { createAndShowDialogFromTask(e, "Error"); } return null; } }; runAsyncTask(task); mTextNewToDo.setText(""); }