horoko

Untitled

Aug 11th, 2015
320
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.86 KB | None | 0 0
  1. import android.content.Context;
  2. import android.graphics.Bitmap;
  3. import android.graphics.BitmapFactory;
  4. import android.net.Uri;
  5. import android.view.LayoutInflater;
  6. import android.view.MenuItem;
  7. import android.view.View;
  8. import android.view.ViewGroup;
  9. import android.widget.BaseAdapter;
  10. import android.widget.ImageView;
  11. import android.widget.PopupMenu;
  12. import android.widget.Toast;
  13.  
  14. import java.io.File;
  15. import java.util.ArrayList;
  16.  
  17. public class CustomAdapter extends BaseAdapter{
  18.     MainActivity mainActivity = new MainActivity();
  19.         private int my_pos;
  20.  
  21.     Context context;
  22.     ArrayList<Uri> imageUri = new ArrayList<>();
  23.     private  LayoutInflater inflater;
  24.  
  25.     public CustomAdapter(MainActivity mainActivity, ArrayList<Uri> prgmImages, LayoutInflater inflaterMain) {
  26.         context=mainActivity;
  27.         imageUri=prgmImages;
  28.         inflater = inflaterMain;
  29.  
  30.  
  31.     }
  32.     @Override
  33.     public int getCount() {
  34.         return imageUri.size();
  35.     }
  36.  
  37.     @Override
  38.     public Object getItem(int position) {
  39.         return position;
  40.     }
  41.  
  42.     @Override
  43.     public long getItemId(int position) {
  44.         return position;
  45.     }
  46.    
  47.     public class Holder
  48.     {
  49.         ImageView img;
  50.     }
  51.     public  void showPopupMenu(View v) {
  52.         PopupMenu popupMenu = new PopupMenu(context,v);
  53.         popupMenu.inflate(R.menu.popup_menu);
  54.    
  55.  
  56.         popupMenu
  57.                 .setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
  58.  
  59.                     @Override
  60.                     public boolean onMenuItemClick(MenuItem item) {
  61.                         // Toast.makeText(PopupMenuDemoActivity.this,
  62.                         // item.toString(), Toast.LENGTH_LONG).show();
  63.                         // return true;
  64.                         switch (item.getItemId()) {
  65.  
  66.                             case R.id.menu1:
  67.                                 Toast.makeText(context,
  68.                                         String.valueOf(my_pos),
  69.                                         Toast.LENGTH_SHORT).show();
  70.                                 mainActivity.deletePhoto(my_pos);
  71.                                 return true;
  72.                             default:
  73.                                 return false;
  74.                         }
  75.                     }
  76.                 });
  77.  
  78.         popupMenu.setOnDismissListener(new PopupMenu.OnDismissListener() {
  79.  
  80.             @Override
  81.             public void onDismiss(PopupMenu menu) {
  82.                 Toast.makeText(context, "onDismiss",
  83.                         Toast.LENGTH_SHORT).show();
  84.             }
  85.         });
  86.         popupMenu.show();
  87.     }
  88.     @Override
  89.     public View getView(final int position, View convertView, ViewGroup parent) {
  90.         final Holder holder = new Holder();
  91.         View rowView;
  92.  
  93.         rowView = inflater.inflate(R.layout.simple_list_item_1, null);
  94.         holder.img=(ImageView) rowView.findViewById(R.id.previewImageView);
  95.  
  96.         File picture = new File(String.valueOf(imageUri.get(position)));
  97.         if (picture.exists()) {
  98.             BitmapFactory.Options options = new BitmapFactory.Options();
  99.             options.inSampleSize = 4;
  100.             Bitmap myBitmap = BitmapFactory.decodeFile(picture.getAbsolutePath(), options);
  101.             holder.img.setImageBitmap(myBitmap);
  102.         }
  103.  
  104.         rowView.setOnClickListener(new View.OnClickListener() {
  105.             @Override
  106.             public void onClick(View v) {
  107.                 MainActivity.changePhoto(position);
  108.             }
  109.         });
  110.  
  111.  
  112.         View.OnLongClickListener listener = new View.OnLongClickListener() {
  113.             @Override
  114.             public boolean onLongClick(View v) {
  115.                 showPopupMenu(v);
  116.                 my_pos = position;
  117.                 return true;
  118.             }
  119.         };
  120.         rowView.setOnLongClickListener(listener);
  121.  
  122.         return rowView;
  123.     }
  124. }
Advertisement
Add Comment
Please, Sign In to add comment