さまよえる、Android

Androidのプログラミングで便利なことや残しておきたいことを残しておく。もしオススメのライブラリがあったら教えてくださいね。

AndroidのButterKnifeを使ってみた。

TextViewに、Hello Worldと表示する。こんなことは、簡単にできるけど、簡単に実装するのには、コツがいる。

いつもの

compile 'com.jakewharton:butterknife:6.1.0'

プラグインインストール

Preferences → Plugins → Browse repositories and search for ButterKnife Zelezny

再起動してね

TextViewにidをつけてね。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <TextView
        android:id="@+id/hoge" <~ここにid/hogeを付ける。
        android:text="@string/hello_world" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</RelativeLayout>

Generateの仕方

setContentView(R.layout.activity_main);のactivity_mainのところを右クリック => Generate => Generate ButterKnife Injections

なんかソースコードに追加されたね。

  @InjectView(R.id.hoge)
    TextView hoge;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.inject(this);
    }

findViewとか書いてないけど、TextView(hoge)にアクセスができ、文字列が書き込める。

hoge.setText("Hello World");