Search code examples
androidimageviewpicassoonactivityresult

OnActivityResult doesn't update ImageView using Picasso


Using following code to view captured image in an ImageView

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(this.requestCode == requestCode && resultCode == RESULT_OK) {  
            File imageFile = new File(Environment.getExternalStorageDirectory() + "/img.jpeg");             
            Picasso.with(MainActivity.this).load(imageFile).into(imageView);
        }
    }

Problem: How Can I refresh ImageView in onActivityResult(...) as you can see I am using above code but always getting preview of old image, whereas i am getting new image inside storage


Solution

  • You can replace the code these lines of code for it:-

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(this.requestCode == requestCode && resultCode == RESULT_OK) {  
            File imageFile = new   File(Environment.getExternalStorageDirectory() + "/img.jpeg");             
            Picasso.with(MainActivity.this)
            .load(imageFile)
            .memoryPolicy(MemoryPolicy.NO_CACHE)
            .networkPolicy(NetworkPolicy.NO_CACHE)
            .error(R.drawable.ic_lanucher)
            .noFade()
            .into(imageView)
    
        }
    }