2013-03-23 50 views
1

我想知道是否可以在特定的@ViewById之後和其他人之前執行方法@ViewById。AndroidAnnotations-直接在特定的@ViewById之後執行方法@ViewById

@ViewById 
CostumView view1; 

@ViewById 
ListView list; 

void myMethod(){ 
    view1.set... 
} 

我也想知道我怎麼能強迫第一次注射是第一。

謝謝。

沒有AA的代碼 主要和風扇佈局必須僅由java設置。

private FanView fan; 
    private ListView list; 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.test); 
      fan = (FanView) findViewById(R.id.fan_view); 
      fan.setViews(R.layout.main, R.layout.fan); 
      list=(ListView)findViewById(R.id.list); 

如果列表在主或風扇佈局MyActivity_的findViewById返回null :)

(如果我使用@AfterViews)所生成的代碼不會停那樣:

   setContentView(R.layout.test); 
       fan = (FanView) findViewById(R.id.fan_view); 
       list=(ListView)findViewById(R.id.list);//returns null 
       fan.setViews(R.layout.main, R.layout.fan); 
+0

你爲什麼要特別注射後調用的方法?檢查「@ AfterViews」是否足夠。 – Michal 2013-03-23 22:38:08

+0

更新,@AfterViews是不夠的這種情況下 – Simo 2013-03-23 23:17:54

回答

0

由於官方文件規定儘快注射,因此沒有註釋允許在注射視圖之間執行指令 。

他們應該做的註釋

@afterView(R.id.myView) 
相關問題