Android Annotations EViewGroup无法识别Eclipse中的EActivity

问题描述:

我有一个类设置为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> 

似乎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

谢谢DayS给我指出正确的方向。 Eclipse中存在导致此问题的错误。解决方法是导入有问题的整个软件包。在我的情况是:

import com.beachbody.p90x.bringit.*; 

这里是bug报告W /月蚀:

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