Advertisement
Guest User

infoAdapter

a guest
Sep 17th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.33 KB | None | 0 0
  1. package com.example.apotekjaya;
  2.  
  3. import android.app.AlertDialog;
  4. import android.content.Context;
  5. import android.content.DialogInterface;
  6. import android.database.Cursor;
  7. import android.database.sqlite.SQLiteDatabase;
  8. import android.database.sqlite.SQLiteOpenHelper;
  9. import android.support.annotation.NonNull;
  10. import android.support.v7.widget.PopupMenu;
  11. import android.support.v7.widget.RecyclerView;
  12. import android.view.LayoutInflater;
  13. import android.view.MenuItem;
  14. import android.view.View;
  15. import android.view.ViewGroup;
  16. import android.widget.Toast;
  17.  
  18. import java.util.List;
  19.  
  20. public class infoAdapte extends RecyclerView.Adapter<infoViewHolder> {
  21.  
  22.     private List<infoModel> listInfoModel;
  23.     private SQLiteDatabase mdatabase;
  24.     private LayoutInflater layoutInflater;
  25.     private View view;
  26.     private infoViewHolder infoViewHolder;
  27.     private Context mContext;
  28.     DatabaseHelper mdb;
  29.     private Cursor mcursor;
  30.  
  31.  
  32.  
  33.     public infoAdapte(List<infoModel> listInfoModel, Context mContext, Cursor mcursor) {
  34.         this.listInfoModel = listInfoModel;
  35.         this.mContext = mContext;
  36.         this.mcursor = mcursor;
  37.         mdb = new DatabaseHelper(mContext);
  38.  
  39.     }
  40.  
  41.     @NonNull
  42.     @Override
  43.     public infoViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
  44.         layoutInflater = LayoutInflater.from(parent.getContext());
  45.         view = layoutInflater.inflate(R.layout.itemrecyclerview,parent,false);
  46.         infoViewHolder = new infoViewHolder(view);
  47.         return infoViewHolder;
  48.     }
  49.  
  50.     @Override
  51.     public void onBindViewHolder(@NonNull final infoViewHolder holder, final int position) {
  52.         final infoModel infom = listInfoModel.get(position);
  53.         final long id = mcursor.getLong(mcursor.getColumnIndex(ObatContract.ObatMasuk._ID));
  54.         holder.tvJudul.setText(infom.getsJudul());
  55.         holder.tvInfo.setText(infom.getsInfo());
  56.         holder.itemView.setTag(id);
  57.         holder.tvMenu.setOnClickListener(new View.OnClickListener() {
  58.             @Override
  59.             public void onClick(View v) {
  60.                 //Display option menu
  61.                 PopupMenu popupMenu = new PopupMenu(mContext, holder.tvMenu);
  62.                 popupMenu.inflate(R.menu.option_menu);
  63.                 popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
  64.                     @Override
  65.                     public boolean onMenuItemClick(MenuItem item) {
  66.  
  67.                         switch (item.getItemId()) {
  68.                             case R.id.mnu_item_edit:
  69.                                 Toast.makeText(mContext, "Berhasil ", Toast.LENGTH_LONG).show();
  70.                                 break;
  71.                             case R.id.mnu_item_delete:
  72.                                 //Delete item
  73.                                 mdb.deleteData(id);
  74.                                 listInfoModel.remove(position);
  75.                                 notifyItemRemoved(position);
  76.                                 break;
  77.                             default:
  78.                                 break;
  79.                         }
  80.                         return false;
  81.                     }
  82.                 });
  83.                 popupMenu.show();
  84.             }
  85.         });
  86.     }
  87.  
  88.     @Override
  89.     public int getItemCount() {
  90.         return listInfoModel.size();
  91.     }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement