gpt4 book ai didi

java - Android 上的 lint 中的 MissingSuperCall 会跳过某些情况

转载 作者:太空宇宙 更新时间:2023-11-04 15:05:30 24 4
gpt4 key购买 nike

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

public class MyFragment extends Fragment {

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

... some more code ...
}

看来,即使使用以下配置,lint 也会错过该类不会从 onAttach() 内部调用 super.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 检查的方法(即 FragmentonAttach() 方法),那么有没有办法让 lint 也标记此方法(即一些更深层次的配置,或者,除此之外,至少有一个用于改进 lint 的问题报告机制)?

最佳答案

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

The lint.xml file A configuration file that you can use to specify any lint checks that you want to exclude and to customize problem severity levels.

2) 就标记方法而言,您需要遵循 this 。它告诉您如何为 Android 代码创建 lint 检查。此后,您可以使用 JavaScanner 接口(interface)。来源可参见here 。您可以重写 visitMethod API 并访问 onAttach 函数中的指令。您可以在那里检查 super.onAttach 调用。如果未找到,您可以标记错误。

关于java - Android 上的 lint 中的 MissingSuperCall 会跳过某些情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22048433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com