我有NameComponent和NameModule。我也有名单。当用户选择列表中的一个项目时,我创建新的NameModule。
在我的Application类中,我有以下代码:
public NameComponent createNameComponent(String name) {
nameComponent = DaggerNameComponent
.nameModule(new NameModule(name))
.build();
return nameComponent;
}
我有一个带有当前所选名称Name1的textView。 注入名称字段。 当用户在列表中选择名称Name2时,我需要刷新,所以我这样做:
textView.setText(name);
但它不刷新名称。
我的问题是如何强制在模块更改时注入字段?每次更换模块时,是否必须重新创建活动?
答案 0 :(得分:1)
由于第二次调用createNameComponent
返回的组件与第一次调用不同,因此您每次都需要调用component.inject(this)
。