Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.content.Context;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.net.Uri;
- import android.view.LayoutInflater;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.BaseAdapter;
- import android.widget.ImageView;
- import android.widget.PopupMenu;
- import android.widget.Toast;
- import java.io.File;
- import java.util.ArrayList;
- public class CustomAdapter extends BaseAdapter{
- MainActivity mainActivity = new MainActivity();
- private int my_pos;
- Context context;
- ArrayList<Uri> imageUri = new ArrayList<>();
- private LayoutInflater inflater;
- public CustomAdapter(MainActivity mainActivity, ArrayList<Uri> prgmImages, LayoutInflater inflaterMain) {
- context=mainActivity;
- imageUri=prgmImages;
- inflater = inflaterMain;
- }
- @Override
- public int getCount() {
- return imageUri.size();
- }
- @Override
- public Object getItem(int position) {
- return position;
- }
- @Override
- public long getItemId(int position) {
- return position;
- }
- public class Holder
- {
- ImageView img;
- }
- public void showPopupMenu(View v) {
- PopupMenu popupMenu = new PopupMenu(context,v);
- popupMenu.inflate(R.menu.popup_menu);
- popupMenu
- .setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
- @Override
- public boolean onMenuItemClick(MenuItem item) {
- // Toast.makeText(PopupMenuDemoActivity.this,
- // item.toString(), Toast.LENGTH_LONG).show();
- // return true;
- switch (item.getItemId()) {
- case R.id.menu1:
- Toast.makeText(context,
- String.valueOf(my_pos),
- Toast.LENGTH_SHORT).show();
- mainActivity.deletePhoto(my_pos);
- return true;
- default:
- return false;
- }
- }
- });
- popupMenu.setOnDismissListener(new PopupMenu.OnDismissListener() {
- @Override
- public void onDismiss(PopupMenu menu) {
- Toast.makeText(context, "onDismiss",
- Toast.LENGTH_SHORT).show();
- }
- });
- popupMenu.show();
- }
- @Override
- public View getView(final int position, View convertView, ViewGroup parent) {
- final Holder holder = new Holder();
- View rowView;
- rowView = inflater.inflate(R.layout.simple_list_item_1, null);
- holder.img=(ImageView) rowView.findViewById(R.id.previewImageView);
- File picture = new File(String.valueOf(imageUri.get(position)));
- if (picture.exists()) {
- BitmapFactory.Options options = new BitmapFactory.Options();
- options.inSampleSize = 4;
- Bitmap myBitmap = BitmapFactory.decodeFile(picture.getAbsolutePath(), options);
- holder.img.setImageBitmap(myBitmap);
- }
- rowView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- MainActivity.changePhoto(position);
- }
- });
- View.OnLongClickListener listener = new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View v) {
- showPopupMenu(v);
- my_pos = position;
- return true;
- }
- };
- rowView.setOnLongClickListener(listener);
- return rowView;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment