2016-11-21 10 views
0

私はNameComponentとNameModuleを持っています。また、私は名前のリストを持っています。ユーザーがリスト内のアイテムの1つを選択すると、新しいNameModuleが作成されます。ダガー2再作成モジュールの注入

public NameComponent createNameComponent(String name) { 
nameComponent = DaggerNameComponent 
    .nameModule(new NameModule(name)) 
    .build(); 

return nameComponent; 

}

私は現在選択されている名前名1とのTextViewを持っている:私のアプリケーションクラスで

は、私は次のコードを持っています。 nameフィールドが注入されています。 リストに私はこれを行うので、更新する必要がある場合には、ユーザーの選択名Name2は:

textView.setText(name); 

をしかし、それは名前をリフレッシュしません。

私の質問は、モジュールの変更をフィールドに注入する方法ですか?私はモジュールを変更するたびにアクティビティを再作成する必要がありますか?

答えて

1

createNameComponentへの2回目の呼び出しで返されるコンポーネントが最初のものと異なるため、毎回component.inject(this)を呼び出す必要があります。

+0

私は最初にcomponent.inject(this)、textView.setText(name)を持っていました。 –

+1

はい、両方を行う必要があります。あなたが問題を解決してうれしい:) – yshrsmz

関連する問題