出错场景
在build.gradle文件里启用数据绑定
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } //启用数据绑定 dataBinding{ enabled = true }
在fragment_beat_box.xml中把一般布局改为数据绑定布局
<layout xmlns:android="http://schemas.android.com/apk/res/android"> <android.support.v7.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent"/> </layout>
随后在BeatBoxFragment中实例化绑定类
会报如上错误,或者显示不能解析的符号
书上也谈及到这个问题是出于某种原因,绑定后的生成类没有正常生成,查阅网上各种资料,也没有相关的说明,最后我一步一步推导,如果在没有打错的情况下,编译器应该在修改布局之后已经创造了FragmentBeatBoxBinding类(此类我没有在工程文件中找到),所以手动加入了一条导入包语句
在手打时,记得到beatbox之后仔细寻找databinding这个选项,里面有你的绑定类(公司名我写错了,多加了一个bignerdranch,我多加了一个g,请不要照抄)
import com.bingnerdranch.android.beatbox.databinding.FragmentBeatBoxBinding;之后不显示错误,如果此方法没有作用(在你前面的部分代码没有出错的前提下),欢迎发送评论一起讨论。