@Retention(value=CLASS) @Target(value={FIELD,METHOD,PARAMETER}) public @interface ViewById
Use it on View or View subtype
fields or method parameters in a view related (ie EActivity,
EFragment, EViewGroup, ...) annotated class.
The annotation value should be one of R.id.* fields. If not set, the field or method name will be used as the R.id.* field name.
Your code related to injected views should go in an AfterViews
annotated method.
Example :
@EActivity(R.layout.main)
public class MyActivity extends Activity {
// Injects R.id.myEditText
@ViewById
EditText myEditText;
@ViewById(R.id.myTextView)
TextView textView;
@ViewById
void singleInjection(EditText myEditText) {
// do stuff
}
void multiInjection(@ViewById EditText myEditText, @ViewById(R.id.myTextView) TextView textView) {
// do stuff
}
@AfterViews
void updateTextWithDate() {
myEditText.setText("Date: " + new Date());
}
}
AfterViewspublic abstract int value
public abstract String resName
Copyright © 2010–2016 simpligility technologies inc.. All rights reserved.