【发布时间】:2015-02-10 07:42:48
【问题描述】:
我正在使用 Picasso 将一些在线图像加载到 listView 中。问题是,虽然有些图像已成功加载,但有些则只是消失了。
成功(品牌形象展示成功):
失败(未显示品牌形象,失败):
ImageView 失败时会消失。这是我的代码:
Picasso.with(mContext)
.load(UrlEncoder.encode(interiorDesign.getBrand_image_url()))
.config(Bitmap.Config.RGB_565)
.error(R.drawable.blank)
.fit()
.centerInside()
.into(holder.brand);
这是我的 .xml 文件:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="90dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:layout_alignParentLeft="true"
android:gravity="center_vertical"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingRight="10dp">
...
</RelativeLayout>
<ImageView
android:layout_width="200dp"
android:layout_height="90dp"
android:paddingBottom="10dp"
android:id="@+id/partial_interior_design_brand" />
</LinearLayout>
我检查了它是否失败,因为它在 Picasso 的 error() 方法中捕获了一个错误。
Here 是失败的链接。
Here 是另一个失败的链接。
Here 是一个成功的链接。
我多次遇到这个问题。而且我怀疑问题出在 fit() 和 centerInside() 方法上,因为在我删除这两种方法后,问题就解决了。然而,如果没有这两种方法,我的图像根本不适合大小。
【问题讨论】:
-
只用这个 Picasso.with(mContext).load(interiorDesign.getBrand_image_url()).config(Bitmap.Config.RGB_565) .error(R.drawable.blank) .fit() .centerInside () .into(holder.brand);
-
我测试过。它不起作用。我切换到通用图像加载器,问题终于解决了。我不知道毕加索有什么问题。我经常遇到这种问题。
-
好吧,你切换到了更好的库 :)
-
我想我会在我的下一个项目中尝试 UIL。但是对于这个项目,由于它处于最后阶段,我担心其他隐藏的错误,我现在不想动手。还有其他建议吗?
-
@Derekyy 你能提供我没有显示的图片的网址吗?