使用壁画库显示图库中的图像

时间:2016-02-06 20:29:45

标签: android android-studio fresco

我在我的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"
            />

我没有收到任何错误,但图片没有显示。

我尝试了所有我能在网上找到的东西,但没有抱怨我不知道它有什么问题。

1 个答案:

答案 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));
}

希望这有助于某人。