我開發使用數據綁定,但之後增加Dagger2和執行模塊,組件和移植物我面臨這個錯誤的一個項目:誤差DataDinding和Dagger2
Error:(8, 74) error: package com.anda.soft.app.databinding does not
exist
Error:(16, 13) error: cannot find symbol class ActivityMainBinding
Error:Execution failed for task ':app:compileDebugJavaWithJavac'. java.lang.IllegalArgumentException: not a valid component method: injectPresentationFragmentPresenter()
這是我的模塊:
@Module
public class Modul {
private Context context;
public Modul(Context context){
this.context = context;
}
@Provides
public MainActivity provideMainActivity(){
return new MainActivity();
}
@Provides
public PresentationFragmentPresenter providePresentationFragment(){
return new PresentationFragmentPresenterImp(provideMainActivity());
}
}
我的成分,它:
@Component (modules = Modul.class)
public interface Compoment {
void injectPresentationFragmentPresenter();
}
和圖表
public class App extends Application {
private Compoment mCompoment;
@Override
public void onCreate() {
super.onCreate();
setUpGraph();
}
private void setUpGraph() {
mCompoment = DaggerCompoment.builder()
.modul(new Modul(this))
.build();
}
public Compoment getCompoment(){
return mCompoment;
}
}
最後我MainActivity
private ActivityMainBinding mActivityMainBinding ;
@Inject PresentationFragmentPresenter mView;
private Toolbar mToolbar;
@Override
protected void bindView(int layoutResource) {
mView = new PresentationFragmentPresenterImp(this);
mActivityMainBinding = DataBindingUtil.setContentView(this,layoutResource);
}
@Override
public int getLayoutResource() {
return R.layout.activity_main;
}
我做錯了嗎?你知道Dagger和DataBinding之間是否存在不兼容?