Как обновить Imageview (привязку данных Android) после получения ответа от модернизации - PullRequest
0 голосов
/ 05 июля 2018

следующий файл макета: Я использую пользовательский установщик, т.е. BindingAdapter

<ImageView
        android:layout_width="0dp"
        android:layout_height="100dp"
        android:layout_margin="@dimen/_8dp"
        android:layout_weight="4"
        android:gravity="center"
        android:padding="@dimen/_8dp"
        bind:pic="@{item.deviceType}"
        bind:status="@{item.deviceStatus}"
        />

картинка получит значение типа int, которое разделяет устройство состояние имеет логическое значение.

это мой обязательный атрибут:

 @BindingAdapter(value = {"bind:status","bind:pic"},requireAll = false)
public static void setImage(ImageView imageview,boolean status,int type){

    if(Integer.valueOf(type)==257){
        if(status)
            imageview.setImageResource(R.drawable.ic_lightbulb_on);
        else
            imageview.setImageResource(R.drawable.ic_lightbulb);

    }else if(Integer.valueOf(type)==516){
        if(status)
            imageview.setImageResource(R.drawable.ic_open_door);
        else
            imageview.setImageResource(R.drawable.ic_closed_door);
    }
}

теперь я получаю ответ от модификации после выполнения адаптера привязки, так как я могу уведомить привязку, содержащую мои данные, и снова обновить адаптер привязки представления и вызова?

1 Ответ

0 голосов
/ 05 июля 2018

через много часов я нашел решения вам просто нужно добавить

notifyChange();

после получения ответа от API.

...