当我使用Picasso将图像加载到ImageView中时,setImageBitmap变得无效

时间:2017-04-05 11:40:46

标签: java android imageview picasso

我已经使用Picasso lib从服务器加载图像并且它对我来说很好但是当我想从Gallery中选择另一个图像以将其加载到同一图像视图时没有任何反应。

这是我的代码

Picasso.with(EditProfileActivity.this)
            .load(User.getInstance().getProfilePicPath())
            .placeholder(R.drawable.defaultpp)
            .error(R.drawable.defaultpp)
            .into(imageView);

顺便说一下,当我评论上面一行时,我可以选择一个图像并将其显示在图像视图中,那么任何人都可以说出发生了什么的原因吗?

3 个答案:

答案 0 :(得分:1)

如果要从图库加载图像,可以将文件URI传递给Picasso

//a[@class="link new-link" and text()="Click me!"]

您还必须确保您具有足够的权限来获取给定的图像。

答案 1 :(得分:0)

这是picasso lib的一个问题,并且已被创作者自己回答,虽然在最新版本中解决了(但仍然是alpha版),与Uri一起解决毕加索的问题是:

   Picasso.with(this).load("file://" + User.getInstance().getProfilePicPath()).placeholder(R.drawable.placeholder)
            .config(Bitmap.Config.RGB_565).into(imageview);

确保您不要忘记file://前缀

参考:毕加索的问题跟踪器here

答案 2 :(得分:0)

由于您选择图片时,您的活动会被退回,而影像浏览路线会丢失。因此,当它返回到您的活动时,您必须再次定义它。添加onResume或添加onRestoreInstanceState然后再次定义imageview ex:imageview findview ...等问题。