0

基本的な質問があります。Android アノテーション ライブラリでは、 を使用してアクティビティを作成し、元のアクティビティを拡張します。public final class HubActivity extends HubActivity implement 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() メソッドを呼び出します。ここで、ビュー要素に依存するアクティビティの onCreate メソッドにコードを記述した場合、それは機能しませんか? これにどのように対処しますか?ここで間違っている設計プラクティスはありますか?

4

1 に答える 1

2

Ok。私はそれを考え出した。質問のおかげで - AndroidAnnotations onCreate の後に初期化コードを追加する方法

ビュー バインディング以外の UI 要素の初期化とその他の接続は、@AfterViews アノテーションを使用して init メソッドで実行する必要があります。

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