ButterknifeでfindViewByIdを自動化する

Androidでxmlを書いてidつけてソースでfindViewByIdっていちいち書くのは非常にだるい。前に書いたandroidannotaionsだと重厚すぎるという場合にはButterknifeを使うと捗る

インポート

build.gradleのdependenciesに以下を記載

compile 'com.jakewharton:butterknife:6.0.0'

使い方

InjectViewアノテーションでひもづけるIdを指定してあげればいい

    @InjectView(R.id.txtView)
    protected TextView txtView;
    @InjectView(R.id.imgView)
    protected ImageView imgView;

クリックにリスナーを付けたい場合も簡単に書ける

    @OnClick(R.id.btn)
    protected void btnClick() {
        // ここがonClickで呼ばれる
    }

まとめ

findViewByIdの紐付けって毎回書くのがだるいのでこれ使うと楽にできるからいいと思う。ArrayAdapterのViewHolderを作る場合も使える。例は最初のURLに書いてあるから省くけど非常に簡単に書くことが出来る。AndroidAnnotationsだとProGardがうまく動かなかったり出来上がるものが重厚すぎるのでちょっとしたアプリならButterknifeのほうがおすすめ。是非使ってみてね。