TextChangeEvents - PerfectCarl/androidannotations GitHub Wiki
Since AndroidAnnotations 2.6
@TextChange
This annotation is intended to be used on methods to receive events defined by android.text.TextWatcher.onTextChanged(CharSequence s, int start, int before, int count)
when the text is changed on the targeted TextView or subclass of TextView. The annotation value should be one or several R.id.*
fields that refers to TextView or subclasses of TextView. If not set, the method name will be used as the R.id.*
field name. The method may have multiple parameter:
- A
android.widget.TextView
parameter to know which view has received this event - A
java.lang.CharSequence
parameter to get the modified text. - An int parameter named start to get the start position of the modified text.
- An int parameter named before to know the text length before modification.
- An int parameter named count to know the number of modified characters.
Some usage examples of @BeforeTextChange
annotation:
@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
This annotation is intended to be used on methods to receive events defined by android.text.TextWatcher.beforeTextChanged(CharSequence s, int start, int count, int after)
before the text is changed on the targeted TextView or subclass of TextView. The annotation value should be one or several R.id.*
fields that refers to TextView or subclasses of TextView. If not set, the method name will be used as the R.id.*
field name. The method may have multiple parameters:
- A
android.widget.TextView
parameter to know which view has targeted this event - An
java.lang.CharSequence
parameter to get the text before modification. - An int parameter named start to get the start position of the modified text.
- An int parameter named count to know the number of modified characters.
- An int parameter named after to know the text length after the text modification.
Some usage examples of @BeforeTextChange
annotation:
@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
This annotation is intended to be used on methods to receive events defined by android.text.TextWatcher.afterTextChanged(Editable s)
after the text is changed on the targeted TextView or subclass of TextView. The annotation value should be one or several R.id.*
fields that refers to TextView or subclasses of TextView. If not set, the method name will be used as the R.id.*
field name. The method may have multiple parameter:
- A
android.widget.TextView
parameter to know which view has targeted this event An android.text.Editable
to make changes on modified text.
Some usage examples of @BeforeTextChange
annotation :
@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
}