horoko

Untitled

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