Required DataBindingComponent is null in class ActivityDatabindingAdapterBindingImpl. A BindingAdap

直接使用顶级函数即可  不需要包装类

当然如果你想包装一个静态类

可以使用

package com.anguomob.jecpack.biningadapter

import android.graphics.Color
import android.text.TextUtils
import android.widget.ImageView
import androidx.databinding.BindingAdapter
import com.anguomob.jecpack.R
import com.squareup.picasso.Picasso

class ImageViewBindingAdapter {

    companion object {
        @BindingAdapter("image")
        @JvmStatic
        fun setImage(iv: ImageView, url: String) {
            if (TextUtils.isEmpty(url).not()) {
                Picasso.get().load(url).placeholder(R.mipmap.ic_launcher)
                    .into(iv)
            } else {
                iv.setBackgroundColor(Color.GRAY)
            }
        }
    }

}

或者 

package com.anguomob.jecpack.biningadapter

import android.graphics.Color
import android.text.TextUtils
import android.widget.ImageView
import androidx.databinding.BindingAdapter
import com.anguomob.jecpack.R
import com.squareup.picasso.Picasso

object ImageViewBindingAdapter {

        @BindingAdapter("image")
        @JvmStatic
        fun setImage(iv: ImageView, url: String) {
            if (TextUtils.isEmpty(url).not()) {
                Picasso.get().load(url).placeholder(R.mipmap.ic_launcher)
                    .into(iv)
            } else {
                iv.setBackgroundColor(Color.GRAY)
            }
        }

}

都是可以,但是不推荐 还是推荐什么都不加。

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/124892764