今天编辑代码过程中出现一个报错:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:dataBindingGenBaseClassesDebug'.
> couldn't make a guess for com.mcxtzhang.indexlib.IndexBar.widget.IndexBar
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 14s
这个问题百思不得其解,搜索也没找到很好的办法。后来看到 DATa Binding 不能使用大写包名的问题。发现在 xml 中,第三方库的包名路径确实是大写的。
在不修改第三方库,或者更换库的情况下,只能自行处理。
可以在自己的项目路径下,新建一个类,继承自这个第三方的类库,如下:
package com.example.carmodels.views;
import android.content.Context;
import android.util.AttributeSet;
public class IndexBar extends com.mcxtzhang.indexlib.IndexBar.widget.IndexBar {
public IndexBar(Context context) {
super(context);
}
public IndexBar(Context context, AttributeSet attrs) {
super(context, attrs);
}
public IndexBar(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
}
修改前:
修改后: