0

我有一個類設置爲EViewGroup。其中,我試圖引用另一個設置爲EActivity的活動。出於某種原因,導入無法解析,但如果我從另一個EActivity引用有問題的活動,它可以解決問題。Android Annotations EViewGroup無法識別Eclipse中的EActivity

代碼在我們的Jenkins服務器上使用ant進行編譯,但在Ecipse中無法編譯。

任何想法?

下面是一個ViewGroup一些代碼:

import android.app.Activity; 
import android.content.Intent; 
import com.googlecode.androidannotations.annotations.Click; 
import com.googlecode.androidannotations.annotations.EViewGroup; 

@EViewGroup 
public class MainMenu extends SlidingMenu 
{ 

    public void navigate(Class<? extends Activity> klass) 
    { 
     getContext().startActivity(new Intent(getContext(), klass)); 
     toggle(); 
    } 

    @Click(R.id.textView_bring_it) 
    public void bringItClick() 
    { 
     navigate(ActivityBringIt_.class); 
    } 
} 

編譯錯誤我看到:

  • 進口com.beachbody.p90x.bringit.ActivityBringIt_不能 解決
  • 的方法導航(類)MainMenu類型 不適用於參數(類)
  • ActivityBringIt _不能被解析爲一個類型

這裏是我的.factorypath文件:

<factorypath> 
    <factorypathentry kind="WKSPJAR" id="/common/compile-libs/androidannotations-2.7.1.jar" enabled="true" runInBatchMode="false"/> 
</factorypath> 

回答

1

似乎ActivityBringIt_不會產生。你的編譯錯誤就是因爲這個原因。

如果您在Android的xml文件中有錯誤,那麼AA無法生成子類。 你應該看看這個。

此外,你可以複製/粘貼你的.factory文件嗎?

+0

謝謝回答!我發佈了我的.factorypath文件。這是你的意思嗎?我沒有看到.factory文件。 此外,我查看.apt_generated文件夾和ActivityBringIt_在那裏。它從其他文件引用很好,只是不從這個文件指定爲EViewGroup,但我不知道這是否是問題。 – 2013-05-06 18:41:07

+0

此外,我沒有看到MainMenu膨脹的佈局或ActivityBringIt膨脹的佈局中的任何錯誤。 – 2013-05-06 18:48:04

+1

好吧。我的最後一個項目,我也有這種問題,這是在Eclipse的建設者鏈中的一個問題,正如[常見問題](https://github.com/excilys/androidannotations/wiki/FAQ#wiki-aspectj)中所解釋的。你可以檢查這個嗎? – DayS 2013-05-06 18:50:54

1

謝謝DayS給我指出正確的方向。 Eclipse中存在導致此問題的錯誤。解決方法是導入有問題的整個軟件包。在我的情況是:

import com.beachbody.p90x.bringit.*; 

這裏是bug報告W /月蝕:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=387956