@ViewById
Viewクラスが型のメンバ変数に対して@ViewByIdをつけるとレイアウトからfindViewByIdのメソッドが代入された状態になります。
@EActivity
public class MyActivity extends Activity {
/*
* findViewById(R.id.myEditText)の
* 結果が自動的に注入されます
* R.id.<メンバ変数の名前>のルールです
*/
@ViewById
EditText myEditText;
/*
* findViewById(R.id.myTextView)の
* 結果が自動的に注入されます
* このようにカッコ内でIDを指定することも出来ます
*/
@ViewById(R.id.myTextView)
TextView textView;
}
@AfterViews
@AfterViewsがついたメソッドは@ViewByIdでViewが注入された直後に呼ばれます。Viewの初期化などをここで行います。
(Viewが注入される前に初期化などの処理をしようとすると、NullPoになります。これを使うと安全です)
@EActivity(R.layout.main)
public class MyActivity extends Activity {
@ViewById
TextView myTextView;
@AfterViews
void updateTextWithDate() {
myTextView.setText("Date: " + new Date());
}
}