通用ViewHolder代码如下,就一个ViewHolder。。。从此不在是每个RecyclerView的Adapter编写一个ViewHolder了
class ViewHolder<T : ViewDataBinding>(itemView: View) : RecyclerView.ViewHolder(itemView) { val binding = DataBindingUtil.bind<T>(itemView)!!}gradle文件开启databinding
android { dataBinding{ enabled true }}布局文件根元素以<layout></layout>开头
<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android"> <data> </data> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> </LinearLayout></layout>adapter里的使用 控件的引用holder.binding.xxx,更高级的用法还有结合layout布局里的data写binding表达式。。。