重新创建模块的 Dagger 2 注入
Dagger 2 injection of recreated module
我有 NameComponent 和 NameModule。我也有名单。当用户 select 列表中的一项时,我创建新的 NameModule。
在我的应用程序中 class 我有以下代码:
public NameComponent createNameComponent(String name) {
nameComponent = DaggerNameComponent
.nameModule(new NameModule(name))
.build();
return nameComponent;
}
我有一个当前 selected 名称 Name1 的 textView。
名称字段被注入。
当列表中的用户 select name Name2 我需要刷新时,我这样做:
textView.setText(name);
但它不会刷新名称。
我的问题是如何在模块更改时强制注入字段?每次更改模块时都必须重新创建 Activity 吗?
由于第二次调用createNameComponent
返回的组件与第一次不同,所以每次都需要调用component.inject(this)
。
我有 NameComponent 和 NameModule。我也有名单。当用户 select 列表中的一项时,我创建新的 NameModule。
在我的应用程序中 class 我有以下代码:
public NameComponent createNameComponent(String name) {
nameComponent = DaggerNameComponent
.nameModule(new NameModule(name))
.build();
return nameComponent;
}
我有一个当前 selected 名称 Name1 的 textView。 名称字段被注入。 当列表中的用户 select name Name2 我需要刷新时,我这样做:
textView.setText(name);
但它不会刷新名称。
我的问题是如何在模块更改时强制注入字段?每次更改模块时都必须重新创建 Activity 吗?
由于第二次调用createNameComponent
返回的组件与第一次不同,所以每次都需要调用component.inject(this)
。