0

我有一个基本问题。在 android 注释库中,它使用 来创建活动,进而扩展原始活动。公共最终类 HubActivity 扩展 HubActivity 实现 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);
}

如果您看到最后一条语句是 onCreate 方法中的 setContentView。此外,它会在此之前调用 super.onCreate() 方法。现在,如果我在依赖于视图元素的 Activity onCreate 方法中编写了一些代码,它将无法工作,不是吗?我们如何解决这个问题?我在这里做错了什么设计实践?

4

1 回答 1

2

行。我想到了。感谢这个问题 - AndroidAnnotations how to add init code after onCreate

UI 元素初始化和除视图绑定之外的其他接线应在带有 @AfterViews 注释的 init 方法中完成

@AfterViews
protected void init() {
    // your custom code
}
于 2015-06-09T15:30:26.807 回答