Android RoboGuice使用ガイド(12):genericタイプをバインドする方法
リストなどのパラメトリックタイプを入力する必要がある場合:
TypeLiteralを使用して、このバインドを作成できます.TypeLiteralは、パラメトリックタイプを表す特殊なタイプです.
または@Providesメソッドを使用します.
これまでGoogle Guiceの使い方は基本的に紹介されていましたが、上記の使い方はJava SE、Java EEプラットフォームにも適用されています.もっと詳しくは英語のドキュメントを参照して、Androidプラットフォームに関連するDependency Injection(Roboguice)の使い方を紹介します.
class Example {
@Inject
void setList(List<String> list) {
...
}
}
TypeLiteralを使用して、このバインドを作成できます.TypeLiteralは、パラメトリックタイプを表す特殊なタイプです.
@Override public void configure() {
bind(new TypeLiteral<List<String>>() {})
.toInstance(new ArrayList<String>()); }
または@Providesメソッドを使用します.
@Provides List<String> providesListOfString() {
return new ArrayList<String>();
}
これまでGoogle Guiceの使い方は基本的に紹介されていましたが、上記の使い方はJava SE、Java EEプラットフォームにも適用されています.もっと詳しくは英語のドキュメントを参照して、Androidプラットフォームに関連するDependency Injection(Roboguice)の使い方を紹介します.