Как написать адаптер привязки, чтобы установить цвет фона, когда цвет приходит из API в виде шестнадцатеричного кода? - PullRequest
0 голосов
/ 11 февраля 2019

Цвет фона исходит от API в этой форме. FFF9E6.Я использую привязку данных. Я не могу понять, как установить его в качестве цвета фона.Я верю, что связующий адаптер будет работать, но не уверен, как его написать.Как я могу написать привязку адаптера для того же?

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Этот код работал в моем случае.

@BindingAdapter("android:backgroundColor")
fun ViewGroup.setBackground(backgroundColor: String) {

val color: Int = try {
    Color.parseColor(background)
} catch (e: Exception) {
    Color.parseColor("#$background")
}
setBackgroundColor(color)
}
0 голосов
/ 11 февраля 2019

Я столкнулся с этой же проблемой несколько месяцев назад.то, что я делал, было хранить данные, поступающие из API в один класс POJO.Затем в файле XML, используя этот член класса POJO в качестве переменной привязки данных.то есть

<TextView
            android:layout_width="0dp"
            android:layout_height="60dp"
            android:layout_margin="@dimen/_8dp"
            android:layout_weight="1"
            android:gravity="center"
            android:padding="@dimen/_8dp"
            app:color="@{item.color}" />

и его адаптер привязки

@BindingAdapter("bind:color")
public static void setStatus(TextView textView, String color) {

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...