horoko

Untitled

Aug 11th, 2015
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.75 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  void showPopupMenu(View v) {
  47.         PopupMenu popupMenu = new PopupMenu(context,v);
  48.         popupMenu.inflate(R.menu.popup_menu);
  49.  
  50.         popupMenu
  51.                 .setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
  52.  
  53.                     @Override
  54.                     public boolean onMenuItemClick(MenuItem item) {
  55.                         // Toast.makeText(PopupMenuDemoActivity.this,
  56.                         // item.toString(), Toast.LENGTH_LONG).show();
  57.                         // return true;
  58.                         switch (item.getItemId()) {
  59.  
  60.                             case R.id.menu1:
  61.                                 Toast.makeText(context,
  62.                                         String.valueOf(my_pos),
  63.                                         Toast.LENGTH_SHORT).show();
  64.                                 mainActivity.deletePhoto(my_pos);
  65.                                 return true;
  66.                             default:
  67.                                 return false;
  68.                         }
  69.                     }
  70.                 });
  71.  
  72.         popupMenu.setOnDismissListener(new PopupMenu.OnDismissListener() {
  73.  
  74.             @Override
  75.             public void onDismiss(PopupMenu menu) {
  76.                 Toast.makeText(context, "onDismiss",
  77.                         Toast.LENGTH_SHORT).show();
  78.             }
  79.         });
  80.         popupMenu.show();
  81.     }
  82.     @Override
  83.     public View getView(final int position, View convertView, ViewGroup parent) {
  84.  
  85.         View rowView;
  86.  
  87.         rowView = inflater.inflate(R.layout.simple_list_item_1,null);
  88.         ImageView img=(ImageView) rowView.findViewById(R.id.previewImageView);
  89.  
  90.         File picture = new File(String.valueOf(imageUri.get(position)));
  91.         if (picture.exists()) {
  92.             BitmapFactory.Options options = new BitmapFactory.Options();
  93.             options.inSampleSize = 4;
  94.             Bitmap myBitmap = BitmapFactory.decodeFile(picture.getAbsolutePath(), options);
  95.             img.setImageBitmap(myBitmap);
  96.         }
  97.  
  98.         rowView.setOnClickListener(new View.OnClickListener() {
  99.             @Override
  100.             public void onClick(View v) {
  101.                 MainActivity.changePhoto(position);
  102.             }
  103.         });
  104.  
  105.  
  106.         View.OnLongClickListener listener = new View.OnLongClickListener() {
  107.             @Override
  108.             public boolean onLongClick(View v) {
  109.                 showPopupMenu(v);
  110.                 my_pos = position;
  111.                 return true;
  112.             }
  113.         };
  114.  
  115.         rowView.setOnLongClickListener(listener);
  116.  
  117.         return rowView;
  118.     }
  119.  
  120.  
  121. }
Advertisement
Add Comment
Please, Sign In to add comment