android上的lint中的MissingSuperCall会跳过某些情况

时间:2014-02-26 17:10:40

标签: java android xml lint

在我的代码中,我有以下内容:

public class MyFragment extends Fragment {

  @Override
  public void onAttach(Activity aActivity) {
    //super.onAttach(aActivity);
  }

... some more code ...
}

即使使用以下配置,lint也会错过此类不会在super.onAttach()内调用onAttach()方法:

<?xml version="1.0" encoding="UTF-8"?>
<lint>
    <!-- Disable the given check in this project -->
    <issue id="MissingSuperCall" severity="fatal" />
</lint>

我的问题有两个:

  1. 为什么lint会跳过这个应该标记为致命的明显错误?
  2. 如果我怀疑这不是lint检查的方法(即onAttach()的{​​{1}}方法),那么有没有办法让lint将此方法标记为好吧(即一些更深层次的配置,或者,除非至少是一个改善棉绒的问题报告机制)?

1 个答案:

答案 0 :(得分:0)

1)可能是因为您将它列在lint.xml文件中。这使得Android Lint忽略了该特定错误。它提到了here

  

lint.xml文件       一个配置文件,可用于指定要排除的任何lint检查以及自定义问题严重性级别。

2)就标记方法而言,您需要关注this。它告诉您如何为Android代码创建lint检查。此后,您可以使用JavaScanner界面。可以找到来源here。您可以覆盖visitMethod API并访问onAttach功能中的说明。在那里,您可以检查super.onAttach电话。如果找不到,您可以标记错误。