我正在尝试在现有项目中使用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注释。
我不能只在我希望的地方使用注释。代码的其他部分是没有注释的旧代码。请指导我。
由于
答案 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方法手动实例化你的视图。显然,在你设置了活动的布局
之后