EVENT
@Click :点击事件,只能有0个或1个参数,且参数为View
@Click(R.id.myButton) void myButtonWasClicked() { [...] } @Click void anotherButton() { [...] } @Click void yetAnotherButton(View clickedView) { [...] }
@LongClick
@Touch
AdapterViewEvents
@ItemClick 必须有一个参数,如果这个参数是object类型,意味着adapter.getItem(position) ; 如果是int ,意味着是position
@LongItemClick 必须有一个参数,如果这个参数是object类型,意味着adapter.getItem(position) ; 如果是int ,意味着是position
@ItemSelect 必须有一个或者两个参数,第一个参数必须是boolean 第二个参数为adapter.getItem(position) 或者也可以是int ,意味着是position
@EActivity(R.layout.my_list) public class MyListActivity extends Activity { // ... @ItemClick public void myListItemClicked(MyItem clickedItem) { } @ItemLongClick public void myListItemLongClicked(MyItem clickedItem) { } @ItemSelect public void myListItemSelected(boolean selected, MyItem selectedItem) { } }
或者:
@EActivity(R.layout.my_list) public class MyListActivity extends Activity { // ... @ItemClick public void myListItemClicked(int position) { } @ItemLongClick public void myListItemLongClicked(int position) { } @ItemSelect public void myListItemSelected(boolean selected, int position) { } }
SeekBarEvents:
@OnSeekBarProgressChange
@SeekBarProgressChange(R.id.seekBar) void onProgressChangeOnSeekBar(SeekBar seekBar, int progress, boolean fromUser) { // Something Here } @SeekBarProgressChange(R.id.seekBar) void onProgressChangeOnSeekBar(SeekBar seekBar, int progress) { // Something Here } @SeekBarProgressChange({R.id.seekBar1, R.id.seekBar2}) void onProgressChangeOnSeekBar(SeekBar seekBar) { // Something Here } @SeekBarProgressChange({R.id.seekBar1, R.id.seekBar2}) void onProgressChangeOnSeekBar() { // Something Here }
@SeekBarTouchStart
@SeekBarTouchStop
以上两个标签的方法有0个或一个参数 , 一个参数类型为 SeekBar
@FocusChange
@FocusChange(R.id.helloTextView) void focusChangedOnHelloTextView(View hello, boolean hasFocus) { // Something Here } @FocusChange void helloTextViewFocusChanged(View hello) { // Something Here } @FocusChange({R.id.editText, R.id.helloTextView}) void focusChangedOnSomeTextViews(View hello, boolean hasFocus) { // Something Here } @FocusChange(R.id.helloTextView) void focusChangedOnHelloTextView() { // Something Here }
@CheckedChange
@CheckedChange(R.id.helloCheckBox) void checkedChangeOnHelloCheckBox(CompoundButton hello, boolean isChecked) { // Something Here } @CheckedChange void helloCheckBoxCheckedChanged(CompoundButton hello) { // Something Here } @CheckedChange({R.id.aCheckBox, R.id.helloCheckBox}) void checkedChangedOnSomeCheckBoxs(CompoundButton hello, boolean isChecked) { // Something Here } @CheckedChange(R.id.helloCheckBox) void checkedChangedOnHelloCheckBox() { // Something Here }
@TextChange
@TextChange(R.id.helloTextView) void onTextChangesOnHelloTextView(CharSequence text, TextView hello, int before, int start, int count) { // Something Here } @TextChange void helloTextViewTextChanged(TextView hello) { // Something Here } @TextChange({R.id.editText, R.id.helloTextView}) void onTextChangesOnSomeTextViews(TextView tv, CharSequence text) { // Something Here } @TextChange(R.id.helloTextView) void onTextChangesOnHelloTextView() { // Something Here }
@BeforeTextChange
@BeforeTextChange(R.id.helloTextView) void beforeTextChangedOnHelloTextView(TextView hello, CharSequence text, int start, int count, int after) { // Something Here } @BeforeTextChange void helloTextViewBeforeTextChanged(TextView hello) { // Something Here } @BeforeTextChange({R.id.editText, R.id.helloTextView}) void beforeTextChangedOnSomeTextViews(TextView tv, CharSequence text) { // Something Here } @BeforeTextChange(R.id.helloTextView) void beforeTextChangedOnHelloTextView() { // Something Here }
@AfterTextChange
@AfterTextChange(R.id.helloTextView) void afterTextChangedOnHelloTextView(Editable text, TextView hello) { // Something Here } @AfterTextChange void helloTextViewAfterTextChanged(TextView hello) { // Something Here } @AfterTextChange({R.id.editText, R.id.helloTextView}) void afterTextChangedOnSomeTextViews(TextView tv, Editable text) { // Something Here } @AfterTextChange(R.id.helloTextView) void afterTextChangedOnHelloTextView() { // Something Here }
Option Menu:
@EActivity @OptionsMenu(R.menu.my_menu) public class MyActivity extends Activity { @OptionMenuItem MenuItem menuSearch; @OptionsItem(R.id.menuShare) void myMethod() { // You can specify the ID in the annotation, or use the naming convention } @OptionsItem void homeSelected() { // home was selected in the action bar // The "Selected" keyword is optional } @OptionsItem boolean menuSearch() { menuSearch.setVisible(false); // menuSearch was selected // the return type may be void or boolean (false to allow normal menu processing to proceed, true to consume it here) return true; } @OptionsItem({ R.id.menu_search, R.id.menu_delete }) void multipleMenuItems() { // You can specify multiple menu item IDs in @OptionsItem } @OptionsItem void menu_add(MenuItem item) { // You can add a MenuItem parameter to access it } }