AndroidのButterKnifeを使ってみた。
TextViewに、Hello Worldと表示する。こんなことは、簡単にできるけど、簡単に実装するのには、コツがいる。
いつもの
compile 'com.jakewharton:butterknife:6.1.0'
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");