Android:网格视图项删除或删除

时间:2015-10-13 06:12:20

标签: android

我正在尝试从sdcard文件夹中删除GridView项目(如果存在选定的图像路径,也来自适配器)。但在我的代码中既不从sdcard文件夹和适配器中删除。这是我的代码。我不明白我在哪里我错了。

     File gridFilePath ;
        HashSet<String> selectedFile = new HashSet<String>();
        ArrayList<String> f = new ArrayList<String>();
        File[] listFile;
        public void getFromSdcard()
        {
            String strFilePath = Environment.getExternalStorageDirectory().toString() + File.separator + "classnkk_images";


 File file = new File(strFilePath);

        if (file.isDirectory()) {
            listFile = file.listFiles();

            for (int i = 0; i < listFile.length; i++) {

                f.add(listFile[i].getAbsolutePath());

            }
        }
    }


 imgDeleteImagesFromGallery = (ImageView)findViewById(R.id.imgDeleteImage);
        imgDeleteImagesFromGallery.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v)
            {
                Iterator iterator = selectedFile.iterator();
                while (iterator.hasNext())
                {
                    gridFilePath = new File(iterator.next().toString());
                    if(gridFilePath.exists())
                    {
                        gridFilePath.delete();
                       // gridAdapter.remove(position);
                        gridAdapter.notifyDataSetChanged();
                    }

                }
            }
        });

这是我的GridAdapter类

 class GridView_Adapter extends ArrayAdapter<BitmapItems>

    {

        private Context context;
        private int layoutResourceId;
        private ArrayList<BitmapItems> data = new ArrayList<BitmapItems>();

        public GridView_Adapter(Context context, int layoutResourceId, ArrayList<BitmapItems> data) {
        super(context, layoutResourceId, data);
        this.layoutResourceId = layoutResourceId;
        this.context = context;
        this.data = data;
    }

        @Override
        public int getCount() {
        // TODO Auto-generated method stub
        //return 0;
        return data.size();
    }

        @Override
        public long getItemId(int position) {
        // TODO Auto-generated method stub
        return 0;
    }

        @Override
        public View getView(final int position, View convertView, ViewGroup parent) {
        View row = convertView;
        final ViewHolder holder;

        if (row == null)
        {
            LayoutInflater inflater = ((Activity) context).getLayoutInflater();
            row = inflater.inflate(layoutResourceId, parent, false);
            holder = new ViewHolder();
            // holder.imageTitle = (TextView) row.findViewById(R.id.text);
            holder.image = (ImageView) row.findViewById(R.id.image);
            holder.checkbox = (CheckBox) row.findViewById(R.id.itemCheckBox);
            row.setTag(holder);
        }
        else
        {
            holder = (ViewHolder) row.getTag();
        }

         BitmapItems item = data.get(position);
        //holder.imageTitle.setText(item.getTitle());
        holder.image.setImageBitmap(item.getBitmap());
            final int pos = position;
            Log.e("pos "," = " + pos);

            holder.checkbox.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                   if(!selectedFile.contains((String)f.get(pos)))
                    {
                        selectedFile.add((String) f.get(pos));
                        String path = ((String) f.get(pos));
                        selectedFile.add(path);
                        Log.e("path "," = " + path);
                    }
                    else
                    {
                        selectedFile.remove((String)f.get(pos));
                        String path = ((String) f.get(pos));
                        selectedFile.add(path);
                        Log.e("path ", " = " + path);
                    }
                }
            });

        return row;
    }

         class ViewHolder {
            //  TextView imageTitle;
             ImageView image;
             CheckBox checkbox;
             int id;
        }
    }

先谢谢。

0 个答案:

没有答案