AndoridのAnnotationフレームワークの初使用(六)


EVENT@Click:イベントをクリックします.パラメータは0個または1個のみで、パラメータはViewです.
@Click(R.id.myButton)
void myButtonWasClicked() {
    [...]
}
@Click
void anotherButton() {
    [...]
}
@Click
void yetAnotherButton(View clickedView) {
    [...]
}

@LongClick@TouchAdapterViewEvents@ItemClickにはobjectタイプのパラメータが必要です.adapterを意味します.getItem(position) ; intであれば、position@LongItemClickこのパラメータがobjectタイプである場合、adapterを意味するパラメータが必要です.getItem(position) ;intであれば、position@ItemSelect1つまたは2つのパラメータが必要です.1つ目のパラメータはbooleanで、2つ目のパラメータは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上の2つのラベルの方法には0つまたは1つのパラメータがあり、1つのパラメータタイプは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
    }
}