diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..f256477 --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index b866680..1ffe264 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -3,13 +3,17 @@ - + diff --git a/app/src/main/java/com/example/todoappjava/MainActivity.java b/app/src/main/java/com/example/todoappjava/MainActivity.java index 31beabd..96aa579 100644 --- a/app/src/main/java/com/example/todoappjava/MainActivity.java +++ b/app/src/main/java/com/example/todoappjava/MainActivity.java @@ -9,6 +9,7 @@ import android.os.Bundle; import android.widget.Button; import android.widget.EditText; +import android.widget.TextView; import android.widget.Toast; import com.example.todoappjava.db.DatabaseHelper; @@ -23,45 +24,55 @@ public class MainActivity extends AppCompatActivity implements TodoAdapter.OnIte private final ArrayList todoList = new ArrayList<>(); private final TodoAdapter todoAdapter = new TodoAdapter(todoList, this); - private final DatabaseHelper myDB = new DatabaseHelper(this); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); - initViews(); rvTodos.setLayoutManager(new LinearLayoutManager(this)); rvTodos.setAdapter(todoAdapter); loadTodos(); - btnAddTodo.setOnClickListener(v -> addTodo()); } private void addTodo() { String text = etTodo.getText().toString(); - boolean isSuccess = myDB.insertData(text); - if(isSuccess){ - Toast.makeText(this, "Todo added successfully!", Toast.LENGTH_SHORT).show(); + if(text.isEmpty()) + { + // Bug 1 fixed + Toast.makeText(MainActivity.this, "Empty TODO can't be saved", Toast.LENGTH_SHORT).show(); + } + else{ + boolean isSuccess = myDB.insertData(text); + //App Not Crashing + Toast.makeText(MainActivity.this, "Todo added successfully!", Toast.LENGTH_SHORT).show(); loadTodos(); - } else { - Toast.makeText(this, "Something went wrong!", Toast.LENGTH_SHORT).show(); + //Solved bug 2 + etTodo.setText(""); } } - + private TextView tt; @SuppressLint("NotifyDataSetChanged") private void loadTodos() { Cursor cursor = myDB.getAllData(); if(cursor!=null){ + tt=findViewById(R.id.textView); if (cursor.moveToFirst()) { + tt.setText(""); String todoText; int todoId; + // bug 3 Fixed do { todoId = cursor.getInt(cursor.getColumnIndex(DatabaseHelper.TODO_ID)); todoText = cursor.getString(cursor.getColumnIndex(DatabaseHelper.TODO_TEXT)); - todoList.add(new TodoData(todoId, todoText)); } while (cursor.moveToNext()); + todoList.add(new TodoData(todoId, todoText)); + } + else{ + // bug 7 fixed + tt.setText("TODO LIST Empty !! \n ADD A Task to see the LIST ."); } cursor.close(); todoAdapter.notifyDataSetChanged(); @@ -73,7 +84,6 @@ private void initViews() { etTodo = findViewById(R.id.etTodo); btnAddTodo = findViewById(R.id.btnAddTodo); } - @Override public void onDeleteClick(int position) { String itemIdToDelete = String.valueOf(todoList.get(position).getId()); diff --git a/app/src/main/java/com/example/todoappjava/TodoAdapter.java b/app/src/main/java/com/example/todoappjava/TodoAdapter.java index 6605fdd..b94b114 100644 --- a/app/src/main/java/com/example/todoappjava/TodoAdapter.java +++ b/app/src/main/java/com/example/todoappjava/TodoAdapter.java @@ -46,6 +46,7 @@ class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener public ViewHolder(@NonNull View itemView) { super(itemView); + tvTodoId=itemView.findViewById(R.id.tvTodoId); tvTodoText = itemView.findViewById(R.id.tvTodoText); btnDelete = itemView.findViewById(R.id.btnDelete); diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 29ce29d..8b096ac 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,6 +1,5 @@ - + android:hint="@string/enter_todo_text" + android:inputType="textCapSentences" + tools:ignore="TextContrastCheck" />