0

我正在使用 android 制作一个能够将一些照片上传到服务器的应用程序。我的问题是当我想从列表中完全删除图像时。我可以从图像视图中删除视图,但是当我上传图像时。我有两张图片,一张是上一张照片,另一张是我在删除后在图像上设置的最后一张照片。(注:图片资源来自图库)。以下是我的代码

将照片设置为图像视图的代码

if(image.getDrawable() == null)
        {
            image.setImageBitmap(imageUpload);
            imageUpload.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            image_data = baos.toByteArray();
            encoded_image_1 = Base64.encodeBytes(image_data);
        }
        else if(image2.getDrawable() == null)
        {
            image2.setImageBitmap(imageUpload);
            imageUpload.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            image_data = baos.toByteArray();
            encoded_image_2 = Base64.encodeBytes(image_data);
        }
        else if(image3.getDrawable() == null)
        {
            image3.setImageBitmap(imageUpload);
            imageUpload.compress(Bitmap.CompressFormat.JPEG, 100, baos);
            image_data = baos.toByteArray();
            encoded_image_3 = Base64.encodeBytes(image_data);
        }

删除图像的代码

else if(image3.getDrawable() != null)
            {
                image3.setImageBitmap(null);
                encoded_image_3 = null;
            }
            else if(image2.getDrawable() != null)
            {
                image2.setImageBitmap(null);
                encoded_image_2 = null;
            }
            else if(image.getDrawable() != null)
            {
                image.setImageBitmap(null);
                encoded_image_1 = null;
            }

上传图片的代码

params_p.add(new BasicNameValuePair("image_1", encoded_image_1));
                params_p.add(new BasicNameValuePair("image_2", encoded_image_2));
                params_p.add(new BasicNameValuePair("image_3", encoded_image_3));

感谢大家的帮助,谢谢。

4

2 回答 2

1

encoded_image_*在将其添加到参数包之前,您应该检查每个是否为空。如果应该为空的那个不是空的 - 逐步调试删除过程并找到,为什么程序不进入encoded_image_* = null部分。

于 2013-08-13T03:16:42.303 回答
0

你可以试试 imageUpload.recycle()

于 2013-08-13T02:30:39.620 回答