DylanCaiCoding / ViewBindingKTX

The most comprehensive utils of ViewBinding. (最全面的 ViewBinding 工具,支持 Kotlin 和 Java 用法,支持 BRVAH,支持封装到基类,支持 DataBinding,支持选择是否使用反射)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BaseViewHolder的扩展想请教

ZhZhZhen opened this issue · comments

直接调用setTag(int, obj)的方法,如果不使用资源id不会出错吗。我看代码中使用了Int.MIN_VALUE。

会不会声明一个资源id来做key会比较好

setTag() 最终是保存到一个 SparseArray,key 只需要个 Int,没有其它要求。会用 Int.MIN_VALUE 是因为个人的库有多个模块,要保证 key 是统一的,不然可能会存多个 ViewBinding 对象。之前是每个模块都定义一个 const val KEY_BINDING = -9999 ,后来想了下最小的整形值 -2147483648 应该很少人用,就改为了 Int.MIN_VALUE,这样就不需要定义常量了。