我在我的android项目中使用fresco库,我正在尝试从库中设置图像。
photoHolder = (SimpleDraweeView) view
.findViewById(R.id.selectPhoto);
photoHolder.setImageURI(uri);
这是uri的值:content://media/external/images/media/987
当我从图库中选择照片时,我从onActivityResult获得了这个uri:
public void onActivityResult(int requestCode, int resultCode, Intent data) {
..
Uri uri = data.getData();
...
}
Drawee:
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/profilePic"
android:layout_width="@dimen/feed_item_profile_pic"
android:layout_height="@dimen/feed_item_profile_pic"
android:scaleType="fitCenter"
/>
我没有收到任何错误,但图片没有显示。
我尝试了所有我能在网上找到的东西,但没有抱怨我不知道它有什么问题。
答案 0 :(得分:0)
我遇到与从app私有存储文件夹加载图片的细微差别完全相同的问题。
.jpg存储在路径上:
/storage/emulated/0/Android/data/xyz.app.packagename/files/Pictures/24.08.2017 02:36:30.jpg
然后,您可以通过执行以下操作来检查您的路径是否是合法文件:
File imageFile = new File("/storage/emulated/0/Android/data/xyz.app.packagename/files/Pictures/24.08.2017 02:36:30.jpg");
boolean isValidFile = imageFile.isFile();
if (isValidFile){
photoHolder.setImageURI(Uri.fromFile(imageFile));
}
希望这有助于某人。