1

我正在使用 Android Annotations,我用 @AfterViews 注释的方法被调用了 3 次。我调试了生成的类,我认为这三个方法被调用了,但我不知道为什么。

@Override
public void setContentView(int layoutResID) {
    super.setContentView(layoutResID);
    afterSetContentView_();
}

@Override
public void setContentView(View view, LayoutParams params) {
    super.setContentView(view, params);
    afterSetContentView_();
}

@Override
public void setContentView(View view) {
    super.setContentView(view);
    afterSetContentView_();
}

-- 编辑 1 -- 我的活动声明是我设置布局的唯一地方:

@EActivity(R.layout.real_estate_customer_leads_list)
public class RealEstateCustomerLeadsListActivity extends
    SlidingFragmentActivity implements FilterResponseHandler {

}
4

1 回答 1

0

那可能是因为一个超级正在呼叫另一个。像这样的东西:

 // super.setContentView(layoutResID); code is:
 View v = LayoutInflater.from(getContext()).inflate(layoutResId);
 setContentView(v);

// then super.setContentView(view); code is:
setContentView(view, null);

// then super.setContentView(view, params);
this one now actually do real work. Hence, 3 calls!
于 2013-02-27T16:12:10.790 回答