重新创建模块的 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)