尝试分配R.drawable.X Uri时,ImageView.setImageURI不起作用

Qli*_*max 28 android

与...有关

需要关于混合"Uri/int id"图像环境的建议

现在我的问题是:

ImageView imgView=(ImageView)findViewById(R.id.imgView);
Uri imgUri=Uri.parse("android.resource://my.package.name/"+R.drawable.image);
imageView.setImageURI(imgUri);
Run Code Online (Sandbox Code Playgroud)

不起作用.为什么?

我知道

imgView.setImageDrawable(Drawable.createFromStream(
                    getContentResolver().openInputStream(imgUri),
                    null));
Run Code Online (Sandbox Code Playgroud)

工作.

但这并不能解决我的问题.因为我想用uri独立设置图像,如果它来自资源或来自相机ACTION_PICK意图......

欢迎任何建议.谢谢.问候

Nor*_*ldt 65

试试这个

Uri imgUri=Uri.parse("android.resource://my.package.name/"+R.drawable.image);
imageView.setImageURI(null); 
imageView.setImageURI(imgUri);
Run Code Online (Sandbox Code Playgroud)

这是一种用于刷新ImageButton的解决方法,它尝试缓存前一个图像Uri.通过null有效地重置它.

本书提出的解决方案:Sams在24小时内自学Android应用程序开发 - 非常值得推荐阅读.

  • 谢谢.Android是残酷的,它浪费了我一天的一半.你的解决方案成功了. (3认同)