Advertisement
Baru_Berbagi

MainActivity.java

Dec 5th, 2020
3,336
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.42 KB | None | 0 0
  1. package com.baruberbagi.catatan;
  2.  
  3. import androidx.annotation.NonNull;
  4. import androidx.annotation.Nullable;
  5. import androidx.appcompat.app.AppCompatActivity;
  6.  
  7. import android.content.Context;
  8. import android.content.Intent;
  9. import android.os.Bundle;
  10. import android.view.View;
  11. import android.view.ViewGroup;
  12. import android.widget.AdapterView;
  13. import android.widget.ArrayAdapter;
  14. import android.widget.Button;
  15. import android.widget.ImageView;
  16. import android.widget.ListView;
  17. import android.widget.TextView;
  18.  
  19. import java.util.List;
  20.  
  21. public class MainActivity extends AppCompatActivity {
  22.  
  23.     private ListView listView;
  24.     private DatabaseAcces databaseAcces;
  25.     private List<Memo> memos;
  26.  
  27.  
  28.     @Override
  29.     protected void onCreate(Bundle savedInstanceState) {
  30.         super.onCreate(savedInstanceState);
  31.         setContentView(R.layout.activity_main);
  32.  
  33.         databaseAcces = DatabaseAcces.getInstance(this);
  34.  
  35.         listView = findViewById(R.id.listView);
  36.         Button btnBuat = findViewById(R.id.btnBuat);
  37.  
  38.         btnBuat.setOnClickListener(new View.OnClickListener() {
  39.             @Override
  40.             public void onClick(View v) {
  41.                 Intent intent  = new Intent(MainActivity.this, EditActivity.class);
  42.                 startActivity(intent);
  43.             }
  44.         });
  45.     }
  46.  
  47.     @Override
  48.     protected void onResume() {
  49.         super.onResume();
  50.         databaseAcces.open();
  51.         this.memos = databaseAcces.getAllMemos();
  52.         databaseAcces.close();
  53.         MemoAdapter adapter = new MemoAdapter(this,memos);
  54.         this.listView.setAdapter(adapter);
  55.     }
  56.  
  57.  
  58.     private class MemoAdapter extends ArrayAdapter<Memo>{
  59.  
  60.         MemoAdapter(@NonNull Context context, List<Memo> objects) {
  61.             super(context, 0,  objects);
  62.         }
  63.  
  64.         @NonNull
  65.         @Override
  66.         public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
  67.  
  68.             if (convertView == null){
  69.                 convertView = getLayoutInflater().inflate(R.layout.layout_list_item, parent, false);
  70.             }
  71.  
  72.             Button btnEdit = convertView.findViewById(R.id.btnEdit);
  73.             Button btnDelete = convertView.findViewById(R.id.btnDelete);
  74.  
  75.             TextView txtDate =  convertView.findViewById(R.id.txtDate);
  76.             TextView txtMemo = convertView.findViewById(R.id.txtMemo);
  77.  
  78.             final Memo memo = memos.get(position);
  79.             txtDate.setText(memo.getDate());
  80.             txtMemo.setText(memo.getShortText());
  81.  
  82.             btnEdit.setOnClickListener(new View.OnClickListener() {
  83.                 @Override
  84.                 public void onClick(View v) {
  85.                     Intent intent = new Intent(MainActivity.this, EditActivity.class);
  86.                     intent.putExtra("MEMO", memo);
  87.                     startActivity(intent);
  88.                 }
  89.             });
  90.  
  91.             btnDelete.setOnClickListener(new View.OnClickListener() {
  92.                 @Override
  93.                 public void onClick(View v) {
  94.                     databaseAcces.open();
  95.                     databaseAcces.delete(memo);
  96.                     databaseAcces.close();
  97.  
  98.                     ArrayAdapter<Memo> adapter = (ArrayAdapter<Memo>) listView.getAdapter();
  99.                     adapter.remove(memo);
  100.                     adapter.notifyDataSetChanged();
  101.                 }
  102.             });
  103.             return convertView;
  104.         }
  105.     }
  106. }
  107.  
  108.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement