[英]Injecting my module in Dagger gives me NPE
Im trying to implement a simple example with Dagger where Module returns just a string 我试图用Dagger实现一个简单的示例,其中Module仅返回一个字符串
Module is : 模块是:
@Module(
injects = { MainActivity.class }
)
public class MyDataModule {
public MyDataModule() {
}
@Provides
public MyDataModule provideMyData() {
return new MyDataModule();
}
public String createMyDataItems() {
return "MyDataString";
}
}
And Activity : 和活动:
@Inject MyDataModule myDataModule;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.my_data);
textView.setText(myDataModule.createMyDataItems());
}
}
And I get a NPE at the last line : 我在最后一行得到了NPE:
textView.setText(myDataModule.createMyDataItems());
You need to instantiate the object graph with 您需要使用实例化对象图
ObjectGraph.create(new MyDataModule())
You can read more in the official tutorial . 您可以在官方教程中阅读更多内容。
As a side note, I recommend you try setting up Dagger 2 instead of Dagger 1 另外,我建议您尝试设置Dagger 2而不是Dagger 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.