android – 删除Glide设置的图像并使用imageView.setImageBitmap()

我有一个片段,首先使用Glide将图像设置为imageView(从互联网上获取图像网址).然后在点击图像视图时,可以从图库或相机意图中选择新图像.问题是当我尝试设置从OnActivityResult()获得的位图时.图像实际上设置但滑动重叠.我需要显示从相机/画廊捕获的图像.任何帮助表示赞赏,如果可以使用毕加索或任何其他图书馆完成,请提出建议.
  以下是我到目前为止所尝试的内容

onActivityResult()

@Override
public void onActivityResult(int requestCode,int resultCode,Intent data)
{
    super.onActivityResult(requestCode,resultCode,data);

    if (resultCode == Activity.RESULT_OK)
    {
        if (requestCode == SELECT_FILE)
            onSelectFromgalleryResult(data);
        else if (requestCode == REQUEST_CAMERA)
            //   onCaptureImageResult((Bitmap) data.getExtras().get("data"));
            onCaptureImageResult(data);
    }
}

private void onCaptureImageResult(Intent data)
{
    if (data != null)
    {
        mImageUri = Uri.parse("file://" + data.getStringExtra(CameraConfiguration.Arguments.FILE_PATH));
    }

    try
    {
        bitmap_image = MediaStore.Images.Media.getBitmap(mContext.getContentResolver(),mImageUri);
        ByteArrayOutputStream bytes = new ByteArrayOutputStream();
        bitmap_image.compress(Bitmap.CompressFormat.JPEG,60,bytes);

        bitmap_image = Bitmap.createScaledBitmap(bitmap_image,(int) (bitmap_image.getWidth() * 0.5),(int) (bitmap_image.getHeight() * 0.5),true);

        ExifInterface ei = new ExifInterface(data.getStringExtra(CameraConfiguration.Arguments.FILE_PATH));
        int orientation = ei.getAttributeInt(ExifInterface.TAG_ORIENTATION,ExifInterface.ORIENTATION_UNDEFINED);

        switch (orientation)
        {
            case ExifInterface.ORIENTATION_ROTATE_90:
                bitmap_image = (SnappyUtils.rotateImage(bitmap_image,90));
                break;

            case ExifInterface.ORIENTATION_ROTATE_180:
                bitmap_image = (SnappyUtils.rotateImage(bitmap_image,180));
                break;

            case ExifInterface.ORIENTATION_ROTATE_270:
                bitmap_image = (SnappyUtils.rotateImage(bitmap_image,270));
                break;

            case ExifInterface.ORIENTATION_norMAL:

            default:
                break;
        }
    }
    catch (IOException e)
    {
        e.printstacktrace();
        Log.d("exception",e.toString());
    }
    ////////////////////// it is showing on iv_logo2 as expected as it does not has anything set by glide//////////////////////////////////////////////////////////////////
    iv_logo.setBackground(null);
    iv_logo.setimageBitmap(bitmap_image);
    iv_logo2.setimageBitmap(bitmap_image);

    ///////////////////////////tried added this by seeing other SO posts //////////////////////////////////////////////////////////////////
    Glide.with(mContext)
            .load(mImageUri)
            .signature(new StringSignature(String.valueOf(System.currentTimeMillis())))
            .diskCacheStrategy(diskCacheStrategy.NONE)
            .skipMemoryCache(true)
            .into(iv_logo);
}

另请注意,这与删除Glide的缓存不同

解决方法

花了很多时间搞清楚如何删除Glide设置的图像并失败后,决定去老派并首先在手机中下载图像并在我的应用程序中将该图像设置为位图

asynchtask下载图片

private class Getimages extends AsyncTask<Object,Object,Object>
{
    private String requestUrl,imagename_;
    private ImageView view;
    private Bitmap bitmap;
    private FileOutputStream fos;

    private Getimages(String requestUrl,ImageView view,String _imagename_)
    {
        this.requestUrl = requestUrl;
        this.view = view;
        this.imagename_ = _imagename_;
    }

    @Override
    protected Object doInBackground(Object... objects)
    {
        try
        {
            URL url = new URL(requestUrl);
            URLConnection conn = url.openConnection();
            bitmap = BitmapFactory.decodeStream(conn.getInputStream());
        }
        catch (Exception ex)
        {
            ex.printstacktrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(Object o)
    {
        view.setimageBitmap(bitmap);
    }
}

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...