· 4 years ago · May 22, 2021, 07:58 AM
1package com.example.myapplication;
2
3import android.app.AlertDialog;
4import android.app.Dialog;
5import android.content.DialogInterface;
6import android.database.Cursor;
7import android.os.Bundle;
8import android.view.Menu;
9import android.view.MenuItem;
10import android.view.View;
11import android.widget.Button;
12import android.widget.EditText;
13import android.widget.ListView;
14import android.widget.Toast;
15
16import androidx.annotation.NonNull;
17import androidx.appcompat.app.AppCompatActivity;
18
19import java.util.ArrayList;
20
21public class TodoActivity<database> extends AppCompatActivity {
22
23 // create database todolist
24 Database database;
25 ListView lvWork;
26 ArrayList<Work> arrayWork;
27 WorkAdapter adapter;
28
29
30 @Override
31 protected void onCreate(Bundle savedInstanceState) {
32 super.onCreate(savedInstanceState);
33 setContentView(R.layout.todo_main);
34
35 lvWork = (ListView) findViewById(R.id.listviewWork);
36 arrayWork = new ArrayList<Work>();
37
38 database = new Database(this, "todolist.sqlite", null, 1);
39
40 adapter = new WorkAdapter(this, R.layout.line_of_work, arrayWork);
41
42 lvWork.setAdapter(adapter);
43
44
45 //create work table
46 database.QueryData("CREATE TABLE IF NOT EXISTS Work(Id INTEGER PRIMARY KEY AUTOINCREMENT, NameOfWork VARCHAR(200))");
47
48
49 GetDataWork();
50
51
52 }
53
54 public void DialogDeleteWork(String name, int id) {
55 AlertDialog.Builder dialogDelete = new AlertDialog.Builder(this);
56 dialogDelete.setMessage("Do you want to delete this \"" + name + "\" work?");
57 dialogDelete.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
58
59 @Override
60 public void onClick(DialogInterface dialog, int which) {
61 database.QueryData("DELETE FROM Work WHERE Id ='" + id + "'");
62 Toast.makeText(TodoActivity.this, "Work \"" + name + "\" deleted.", Toast.LENGTH_SHORT).show();
63 GetDataWork();
64
65 }
66 });
67 dialogDelete.setNegativeButton("No", new DialogInterface.OnClickListener() {
68
69 @Override
70 public void onClick(DialogInterface dialog, int which) {
71
72 }
73 });
74 dialogDelete.show();
75 }
76
77 public void DialogEditWork(String name, int id) {
78 Dialog dialog = new Dialog(this);
79 dialog.setContentView(R.layout.dialog_edit);
80
81 EditText editNameWork = (EditText) dialog.findViewById(R.id.editTextNameWEdit);
82 Button btnAccept = dialog.findViewById(R.id.ButtonConfirm);
83 Button btnCancel = dialog.findViewById(R.id.ButtonCancelEdit);
84
85 editNameWork.setText(name);
86
87 btnAccept.setOnClickListener(new View.OnClickListener() {
88
89 @Override
90 public void onClick(View v) {
91 String nameNew = editNameWork.getText().toString().trim();
92 database.QueryData("UPDATE Work SET NameOfWork = '" + nameNew + "' WHERE Id = '" + id + "'");
93 Toast.makeText(TodoActivity.this, "Work updated.", Toast.LENGTH_SHORT).show();
94 dialog.dismiss();
95 GetDataWork();
96
97 }
98 });
99
100 btnCancel.setOnClickListener(new View.OnClickListener() {
101 @Override
102 public void onClick(View v) {
103 dialog.dismiss();
104 }
105 });
106
107 dialog.show();
108 }
109
110 private void GetDataWork() {
111 Cursor dataWork = database.GetData("SELECT * FROM Work");
112 arrayWork.clear();
113 while (dataWork.moveToNext()) {
114 String name = dataWork.getString(1);
115// Toast.makeText(this, name, Toast.LENGTH_SHORT).show();
116 int id = dataWork.getInt(0);
117 arrayWork.add(new Work(id, name));
118 }
119
120 adapter.notifyDataSetChanged();
121 }
122
123 @Override
124 public boolean onCreateOptionsMenu(Menu menu) {
125 getMenuInflater().inflate(R.menu.add_work, menu);
126 return super.onCreateOptionsMenu(menu);
127 }
128
129 @Override
130 public boolean onOptionsItemSelected(@NonNull MenuItem item) {
131 if (item.getItemId() == R.id.menuAdd) {
132 DialogAdd();
133
134 }
135 return super.onOptionsItemSelected(item);
136 }
137
138 private void DialogAdd() {
139 Dialog dialog = new Dialog(this);
140 dialog.setContentView(R.layout.dialog_add_work);
141
142 EditText editName = dialog.findViewById(R.id.editTextNameW);
143 Button btnAdd = dialog.findViewById(R.id.ButtonAdd);
144 Button btnCancel = dialog.findViewById(R.id.ButtonCancel);
145
146 btnAdd.setOnClickListener(new View.OnClickListener() {
147
148 @Override
149 public void onClick(View v) {
150 String nameWork = editName.getText().toString().trim();
151 if (nameWork.equals("")) {
152 Toast.makeText(TodoActivity.this, "Please type in your work!", Toast.LENGTH_SHORT).show();
153 } else {
154 //insert data
155 database.QueryData("INSERT INTO Work VALUES(null, '" + nameWork + "')");
156 Toast.makeText(TodoActivity.this, "Work added.", Toast.LENGTH_SHORT).show();
157 dialog.dismiss();
158 GetDataWork();
159
160 }
161 }
162 });
163
164
165 btnCancel.setOnClickListener(new View.OnClickListener() {
166
167 @Override
168 public void onClick(View v) {
169 dialog.dismiss();
170 }
171 });
172 dialog.show();
173 }
174}
175