在现有项目中使用Android Annotation

时间:2016-08-03 03:52:59

标签: android android-studio android-annotations

我正在尝试在现有项目中使用Android注释(https://github.com/excilys/androidannotations)。我无法将整个项目转换为使用Annotations。我可以使用一些使用注释的活动和一些不使用注释的活动。

但是当我这样做时,一些功能停止了工作。就像我只使用 -

@ViewById(R.id.find)
public Button FIND;
...
...
@Override
protected void onCreate(Bundle savedInstanceState) {
   ...
   if (FIND != null) {
        FIND.setOnClickListener(this);
    }
   ...
}

OnClick on按钮不起作用。是否必须使用@Click注释。

我不能只在我希望的地方使用注释。代码的其他部分是没有注释的旧代码。请指导我。

由于

2 个答案:

答案 0 :(得分:2)

请仔细阅读文档。注入的视图首先在@AfterViews带注释的方法中提供:

@AfterViews
void afterViews() {
  // you can use injected views here
} 

https://github.com/excilys/androidannotations/wiki/Injecting-Views#afterviews

答案 1 :(得分:0)

首先请尊重编码惯例,你可以找到ax解释here

然后,对于您的问题,您可以使用两种类型的代码:native android和android annotations one。 如果使用@ViewById注释来扩展视图,则必须记住视图的注入是在执行的某个点完成的,因此在此之前,您的变量将为null。 正如WonderCsabo推荐的那样,在@AfterViews注释方法中使用注入视图。

否则,如果你想保留android原生语法,你必须使用findViewById方法手动实例化你的视图。显然,在你设置了活动的布局

之后