我有一个多模块项目,我将数据绑定类设置为泛型类型要求:
public abstract class BaseActivity<DataBinding extends ViewDataBinding> {
//Rest of the code...
}
但是,如果我在子模块上扩展此活动,有时会出现以下构建错误:
错误:找不到符号public void myMethod(MyActivityBinding dataBinding){
错误:包com.mydomain.databinding不存在import com.mydomain.databinding.MyActivityBinding;
有时,创建另一个从MyActivity
延伸并将其放在主app模块上的活动可以解决问题。但在某些情况下,我无法确定问题,并且我始终得到相同的错误消息。
我已经尝试过清理和重建项目,并且还使Android Studio缓存无效并重新启动它而没有成功。
关于如何至少调查可能导致此问题的任何想法?
答案 0 :(得分:0)
不确定问题的根本原因但我有类似的问题并在此处发布了答案https://stackoverflow.com/a/47718646/3160214
简而言之,这就是解决方案的样子:
class A<BINDING extends ViewDataBinding> extends BaseActivity<BINDING> {
protected ABinding binding;
void init(){
binding = (ABinding) DataBindingUtil.setContentView(this, R.layout.a);
}
}
并将相同的绑定传递给子模块
中的子类class B<ABinding> {
// you can use instance in this class
}