注浆DataSource类来演示给空
问题描述:
我试图注入DataSource
类用匕首2 Presenter
,但数据源是空。注浆DataSource类来演示给空
的代码如下:
public class MainPresenter implements MainMVP.Presenter {
public static final String TAG = "MAIN-PRESENTER";
@NonNull
private MainMVP.View mainView;
@Inject
DataSource dataSource;
public MainPresenter(@NonNull MainMVP.View mainView) {
this.mainView = mainView;
Log.i(TAG, "MainPresenter init");
DaggerDataComponent.builder()
.dataModule(new DataModule())
.build();
}
@Override
public void onButtonClick() {
if (dataSource != null) {
mainView.showData(dataSource.getReleaseString());
}
}
}
如果我删除,在数据源检查空我得到一个NullPointerException
的条件。任何人都可以帮忙吗?构造函数不是构建DataComponent
的正确地方吗?
答
您建立您的成分,但你似乎并不使用它是实际。
DataCompontent component = DaggerDataComponent.builder()
.dataModule(new DataModule())
.build();
component.inject(this);
,并添加
void inject(MainPresenter presenter);
您DataComponent
接口。
至于你的问题,如果这是你构建组件的正确位置:我们不能真正回答这个问题。这强烈依赖于您的代码体系结构。
Here's a nice example of MVP + dagger2 architecture.也许尝试以下这一点。