Android 行内注释给出语法错误

Android 行内注释给出语法错误,android,android-lint,Android,Android Lint,我喜欢ADT rev 17中新的Lint API检查,但新的API正确性检查让我感到困惑。我有以下代码行: listView.setOverScrollMode(OVER_SCROLL_NEVER); Lint正在这条线上报告: 调用需要API级别9(当前最小值为4) ,我应该可以在线条上方添加注释,如下所示: @TargetApi(9) listView.setOverScrollMode(OVER_SCROLL_NEVER); 但是,这在Java 1.6中给出了一个语法错误: 令牌上的语

我喜欢ADT rev 17中新的Lint API检查,但新的API正确性检查让我感到困惑。我有以下代码行:

listView.setOverScrollMode(OVER_SCROLL_NEVER);
Lint正在这条线上报告:

调用需要API级别9(当前最小值为4)

,我应该可以在线条上方添加注释,如下所示:

@TargetApi(9)
listView.setOverScrollMode(OVER_SCROLL_NEVER);
但是,这在Java 1.6中给出了一个语法错误:

令牌上的语法错误,构造位置错误


这在Java中是不允许的(除非添加了JSR308);只能对类、方法、字段、参数和变量声明进行注释。文档中显示的是后者。但是,对于基于字节码的检查(如api检查),您可能需要将其放在方法或类(或匿名/内部类)上。在lint中为这些警告添加注释快速修复应该做正确的事情。

通过将有问题的行提取到函数中并在其中添加注释,可以很容易地避免这种情况,但是文档特别建议注释在line.Ah,变量声明中起作用。这就是我所忽略的。谢谢你指出!上的文档(即ADT17时的博客帖子)中提到的想法。