I have a basic question. In the android annotations library, it creates activities with , which in turn extend the original activity. public final class HubActivity extends HubActivity implements HasViews, OnViewChangedListener {
private final OnViewChangedNotifier onViewChangedNotifier_ = new OnViewChangedNotifier();
@Override
public void onCreate(Bundle savedInstanceState) {
OnViewChangedNotifier previousNotifier = OnViewChangedNotifier.replaceNotifier(onViewChangedNotifier_);
init_(savedInstanceState);
super.onCreate(savedInstanceState);
OnViewChangedNotifier.replaceNotifier(previousNotifier);
setContentView(layout.activity_hub);
}
if you see the last statement is the setContentView in onCreate method. Additionally, it calls the super.onCreate() method prior to that. Now, if I have written some code in the Activity onCreate method which is dependent on the view elements, it will not work, would it? How do we tackle this? Any design practices I am doing wrong here?
Ok. I figured it out. Thanks to the question - AndroidAnnotations how to add init code after onCreate
The UI elements initialization and other wirings apart from the view binding should be done in the init method with an @AfterViews annotation