我以前见过这个问题的版本,但似乎没有一个确切的解释。我目前正在使用this library处理Android项目并使用Android Studio
我的主项目中有一个方法,我尝试实例化一个DatePickerBuilder对象,该类在我的库项目中定义。
private OnFocusChangeListener openCalendarDialogFocus = new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
int resID = com.doomonafireball.betterpickers.R.style.BetterPickersDialogFragment_Light;
// Here I get the "java.lang.NoClassDefFoundError: com.doomonafireball.betterpickers.datepicker.DatePickerBuilder" error
// adding com.doomonafireball.betterpickers.datepicker.DatePickerBuilder
// to the front of my DatePickerBuilder object does not have any effect
DatePickerBuilder dpb = new DatePickerBuilder()
.setFragmentManager(getSupportFragmentManager())
.setStyleResId(resID);
dpb.show();
}
}
};
我相信我已经正确添加了这个库,它不是一个jar文件,所以它被添加为另一个项目。我想知道为什么无法找到库中的这个类,但是对上面这行的引用没有问题。 实际上,在应用程序运行之前,logcat会说
Could not find class 'com.doomonafireball.betterpickers.datepicker.DatePickerBuilder', referenced from method
这看起来很奇怪,因为^是这个类的确切路径,即使它没有在方法中说明。
在我班级的顶部,我也有导入声明
import com.doomonafireball.betterpickers.datepicker.DatePickerBuilder;
但它表示“未使用的导入声明”
我觉得我错过了一些东西但是很接近,任何建议都会非常感激!