代码之家  ›  专栏  ›  技术社区  ›  androidguy

如何在不违反库作用域限制的情况下使用TextViewBindingAdapter?

  •  1
  • androidguy  · 技术社区  · 6 年前

    这个 TextViewBindingAdapter 数据绑定库提供的类有很多有用的静态方法。例如,我有自己的绑定适配器,用于设置可绘制TextView的色调。

    @BindingAdapter("app:drawableStart", "app:drawableTint")
    fun setDrawableStartWithCompatTint(view: TextView, drwbl: Drawable, @ColorInt tint: Int) {
        drwbl.mutate()
        val drawable = DrawableCompat.wrap(drwbl)
        DrawableCompat.setTint(drawable, tint)
        TextViewBindingAdapter.setDrawableStart(view, drawable)
    }
    

    但是最近,IDE用 TextViewBindingAdapter.setDrawableStart 出现错误:

    只能从同一库调用TextViewBindingAdapter

    错误是因为库的更新而开始出现的,还是因为生成工具中的更新lint,我不确定。无论如何,有没有什么方法可以使用这些代码而不会导致lint问题?为什么最近添加了这个restrict注释?(乔治·蒙特等)

    0 回复  |  直到 6 年前