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

public class MyFragment extends Fragment {

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

... some more code ...
}


看起来,即使使用以下配置,棉绒也会错过此类不会从super.onAttach()内部调用onAttach()方法的情况:

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


我的问题是双重的:


为什么皮棉跳过了应该标记为致命的明显错误?
如果我怀疑这不是皮棉检查的方法(即onAttach()Fragment方法),那么有没有办法让皮棉也标记此方法(即更深层次的配置,或者,至少要有一个改善绒毛的问题报告机制)?

最佳答案

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


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


2)就标记方法而言,您需要遵循this。它告诉您如何为Android代码创建皮棉检查。此后,您可以使用JavaScanner界面。可以在here中找到源。您可以覆盖visitMethod API并访问onAttach函数中的说明。在那里您可以检查super.onAttach呼叫。如果未找到,则可以标记错误。

09-30 15:03