覆盖方法会导致 Android Studio 中出现冗余、重复的注解

Posted

技术标签:

【中文标题】覆盖方法会导致 Android Studio 中出现冗余、重复的注解【英文标题】:Overriding method causes redundant, duplicate annotations in AndroidStudio 【发布时间】:2021-09-18 15:08:36 【问题描述】:

在最近的更新之后,androidStudio 会在覆盖方法(通过使用代码 > 生成 > 覆盖方法)时放置这些多余的重复注释,例如:

@Nullable
@org.jetbrains.annotations.Nullable
@Override
public View onCreateView(@NonNull @org.jetbrains.annotations.NotNull LayoutInflater inflater,
                         @Nullable @org.jetbrains.annotations.Nullable ViewGroup container,
                         @Nullable @org.jetbrains.annotations.Nullable Bundle savedInstanceState) 
    return super.onCreateView(inflater, container, savedInstanceState);

我不需要这些 @org.jetbrains.annotations.Nullable and @org.jetbrains.annotations.NotNull。仅使用@Nullable@NotNull 就足够了。每次重写一个方法,都要手动删除这样的注解,很痛苦。

之前AndroidStudio的行为(理想):

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
                         @Nullable ViewGroup container,
                         @Nullable Bundle savedInstanceState) 
    return super.onCreateView(inflater, container, savedInstanceState);

有什么办法可以避免最近AndroidStudio的这种行为?

【问题讨论】:

【参考方案1】:

您可以通过以下方式禁用它们:

首选项/设置 >> 编辑器 >> 检查 >> Java >> 可能的错误 >> 可空性问题 >> 取消选中你不想要的那些

【讨论】:

您的回答并没有直接解决我的问题,但由于您的回答,我想出了我的解决方案。谢谢!【参考方案2】:

我找到了解决方案。感谢@DavidLee 的回答,解决方案就是围绕这个偏好。

当您选择编辑器 > 检查 > 可能的错误 > 可空性错误 > 可空性问题 > @NotNull/@Nullable 问题时,会有 配置注释 按钮。然后按下按钮,弹出 Nullable/Notnull 配置窗口,在窗口中可以设置@Nullable 和@NotNull 指针。

org.jetbrains.annotations.Nullableorg.jetbrains.annotations.NotNull 默认被选中。如果将它们设置为androidx.annotation.Nullableandroidx.annotaion.NonNull,问题就解决了。

【讨论】:

以上是关于覆盖方法会导致 Android Studio 中出现冗余、重复的注解的主要内容,如果未能解决你的问题,请参考以下文章

如何设置drawer layout覆盖状态栏之上 android

如何通过 Android Studio 中的键盘快捷键覆盖方法

android studio怎么升级

android studio 中的快捷键汇总

android studio模拟器:单击面板按钮会导致模拟器关闭

安卓代码覆盖率:android studio+ gradle+jacoco