@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()); } }