0
私はTokenAutoCompleteを使って受信者を作成していますので、画像でカスタムビューを作成しましたが、画像を読み込もうとしても機能しません。 私はピカソとグライドを遠隔地の画像URLで試してみました。 エラーはありません。単にプレースホルダを読み込んだだけです。TokenAutoCompleteライブラリの画像読み込みに失敗しました
これは、関連するコードです:
のxml:
<data>
<import type="android.text.TextUtils" />
<import type="android.view.View" />
<import type="android.graphics.Typeface" />
<variable name="drawCircle" type="boolean" />
<variable name="imageUrl" type="String" />
</data>
<LinearLayout
android:id="@id/layout_content_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_chip_token"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingRight="@dimen/view_padding"
android:paddingEnd="@dimen/view_padding">
<ImageView
style="@style/AppStyle.Widget.ListItem.Image"
android:id="@+id/image_user" />
<TextView
android:id="@+id/text_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginLeft="@dimen/view_margin"
android:layout_marginStart="@dimen/view_margin"
android:ellipsize="middle"
android:maxLines="1"
android:textColor="@android:color/white"
android:textAppearance="?android:attr/textAppearanceSmall" />
<ImageView
android:id="@+id/image_dismiss"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/view_margin"
android:layout_marginStart="@dimen/view_margin"
android:src="@drawable/ic_clear_white_24dp"
android:visibility="gone"/>
</LinearLayout>
スタイル:
<style name="AppStyle.Widget.ListItem.Image" parent="AppStyle.Widget.ImageView">
<item name="android:layout_width">@dimen/list_item_icon_size</item>
<item name="android:layout_height">@dimen/list_item_icon_size</item>
</style>
ContactsCompletionView:解決
@BindingAdapter({"imageUrl", "circle", "error"})
public static void loadImage(ImageView view, String imageUrl, boolean circle, Drawable error) {
if (TextUtils.isEmpty(imageUrl) && error == null)
return;
Picasso.with(view.getContext())
.load(imageUrl)
.fit()
.transform(circle ? new CircleTransformation() : new NullTransformation())
.error(error)
.placeholder(error)
.into(view);
}