という非常に興味深い Dependency Injection ライブラリを偶然見つけましたButterKnife
。これを使用ButterKnife
すると、ビューをアクティビティまたはフラグメントに簡単に挿入できます。
class ExampleActivity extends Activity {
@InjectView(R.id.title) TextView title;
@InjectView(R.id.subtitle) TextView subtitle;
@InjectView(R.id.footer) TextView footer;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.inject(this);
// TODO Use "injected" views...
}
}
ただし、依存性注入を使用する場合、それらのビューはそれを注入できるpublic
ようにする必要があります (フィールドを使用すると例外が発生します)。Butterknife
private
fields must not be private or static
私の過去のプロジェクトでは、private
これがベスト プラクティス (情報の隠蔽など) だと思っていたので、常にすべてのメンバー フィールド (ビューを含む) を作成していましたpublic
。この場合は使えませんButterKnife
が、コードがかなり簡単になるので使いたいです。