【发布时间】:2017-12-04 06:42:21
【问题描述】:
我正在使用 Volley 库从服务器获取图像并使用 RecyclerView 中的 NetworkImageView 显示它。当我使用 Android Data Binding 时,我遇到了异常。
Unable to decode stream: java.io.FileNotFoundException: open failed: ENOENT (No such file or directory)
resolveUri failed on bad bitmap uri
虽然使用务实的方法(从适配器本身调用 setImageUrl),但我可以显示图像。
@BindingAdapter("imgurl")
public void setImageUrl(NetworkImageView view, String imageURL) {
Context context = view.getContext();
ImageLoader mImageLoader = CustomVolleyRequestQueue.getInstance(context).getImageLoader();
try {
ImageLoader.getImageListener(view, R.drawable.story_big_default, R.drawable.story_big_default);
Log.d("STORYMODEL", "setImageUrl: "+imageURL.trim());
view.setImageUrl(imageURL.trim(), mImageLoader);
} catch (Exception e) {
e.printStackTrace();
view.setImageResource(R.drawable.story_big_default);
}
}
<com.android.volley.toolbox.NetworkImageView
android:id="@+id/ivBackground"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@drawable/story_small_default"
android:scaleType="fitXY"
android:src="@{storymodel.imgurl}" />
请帮忙,我可能在这里遗漏了什么?
【问题讨论】:
标签: android android-recyclerview android-volley android-databinding networkimageview