Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. package nofieanggraeni.blogspot.com.todolistsqlite;
  2.  
  3. import android.content.DialogInterface;
  4. import android.graphics.PorterDuff;
  5. import android.graphics.drawable.Drawable;
  6. import android.os.Bundle;
  7. import android.util.Log;
  8. import android.view.Menu;
  9. import android.view.MenuItem;
  10. import android.view.View;
  11. import android.widget.ArrayAdapter;
  12. import android.widget.EditText;
  13. import android.widget.ListView;
  14. import android.widget.TextView;
  15. import androidx.appcompat.app.AlertDialog;
  16. import androidx.appcompat.app.AppCompatActivity;
  17. import java.util.ArrayList;
  18.  
  19. public class MainActivity extends AppCompatActivity {
  20.     DbHelper dbHelper;
  21.     ArrayAdapter<String> mAdapter;
  22.     ListView lstTask;
  23.     @Override
  24.     protected void onCreate(Bundle savedInstanceState) {
  25.         super.onCreate(savedInstanceState);
  26.         setContentView(R.layout.activity_main);
  27.         dbHelper = new DbHelper(this);
  28.         lstTask = (ListView)findViewById(R.id.lstTask);
  29.         loadTaskList();
  30.  
  31.  
  32.     }
  33.     private void loadTaskList() {
  34.         ArrayList<String> taskList = dbHelper.getTaskList();
  35.         if(mAdapter==null){
  36.             mAdapter = new ArrayAdapter<String>(this,R.layout.row,R.id.task_title,taskList);
  37.             lstTask.setAdapter(mAdapter);
  38.         } else{ mAdapter.clear();
  39.             mAdapter.addAll(taskList);
  40.             mAdapter.notifyDataSetChanged();
  41.         }
  42.     }
  43.     @Override public boolean onCreateOptionsMenu(Menu menu) {
  44.         getMenuInflater().inflate(R.menu.menu,menu);
  45. //Change menu icon color
  46.         Drawable icon = menu.getItem(0).getIcon();
  47.         icon.mutate();
  48.         icon.setColorFilter(getResources().getColor(android.R.color.white), PorterDuff.Mode.SRC_IN);
  49.         return super.onCreateOptionsMenu(menu);
  50.     }
  51.     @Override public boolean onOptionsItemSelected(MenuItem item) {
  52.         switch (item.getItemId()){
  53.             case R.id.action_add_task: final EditText taskEditText = new EditText(this);
  54.                 AlertDialog dialog = new AlertDialog.Builder(this)
  55.                         .setTitle("Tambah Tugas")
  56.                         .setMessage("Apa yang kamu ingin lakukan hari ini ?")
  57.                         .setView(taskEditText)
  58.                         .setPositiveButton("Tambah", new DialogInterface.OnClickListener() {
  59.                                     @Override public void onClick(DialogInterface dialog, int which) {
  60.                                         String task = String.valueOf(taskEditText.getText());
  61.                                         dbHelper.insertNewTask(task);
  62.                                         loadTaskList();
  63.                                     }
  64.                                 }
  65.                         )
  66.                         .setNegativeButton("Batal",null)
  67.                         .create();
  68.                 dialog.show();
  69.                 return true;
  70.         }
  71.         return super.onOptionsItemSelected(item);
  72.     }
  73.     public void deleteTask(View view)
  74.     {
  75.         View parent = (View)view.getParent();
  76.         TextView taskTextView = (TextView)parent.findViewById(R.id.task_title);
  77.         Log.e("String", (String) taskTextView.getText());
  78.         AlertDialog dialog = new AlertDialog.Builder(this)
  79.                 .setMessage("Apakah Anda Yakin Ingin Menghapus Tugas Ini?")
  80.                 .setPositiveButton("Ya", new DialogInterface.OnClickListener() {
  81.                     @Override
  82.                     public void onClick(DialogInterface dialog, int which) {
  83.                         String task = String.valueOf(taskTextView.getText());
  84.                         dbHelper.deleteTask(task);
  85.                         loadTaskList();
  86.                     }
  87.                 }
  88.                 )
  89.                 .setNegativeButton("Batal",null)
  90.                 .create();
  91.         dialog.show();
  92.     }
  93. }