当前位置:  开发笔记 > Android > 正文

如何禁用Android Studio代码样式警告"...可以简化为......"

如何解决《如何禁用AndroidStudio代码样式警告"可以简化为"》经验,为你挑选了1个好方法。

我在Android应用中使用productFlavorsbuildConfigField启用/禁用功能:

productFlavors {
    vanilla {
        buildConfigField "boolean", "FEATURE_SAR", "false"
    }
    edge {
        applicationIdSuffix ".edge"
        buildConfigField "boolean", "FEATURE_SAR", "true"
    }
}

还没有找到一种方法来禁用Android Studio代码样式警告说"'!BuildConfig.FEATURE_SAR'可以简化为'false'".

正如你在我的代码中看到的那样,我尝试了很多方法,但没有一个方法可行.我无法在Android Studio中找到可以禁用此功能的设置.

@Override
@SuppressWarnings("SimplifiableIfStatement") // no effect
@SuppressLint("SimplifiableIfStatement")     // no effect
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Set suppressPositions = new HashSet<>();

    //noinspection SimplifiableIfStatement <-- no effect
    if (!BuildConfig.FEATURE_SAR) {
        suppressPositions.add(IDX_SAR);
    }

    SimpleAdapter adapter = ViewUtils.createSimpleAdapter(
        getContext(), MENU_RESOURCES, suppressPositions);
    setListAdapter(adapter);
}

当然,有一些方法可以通过使用资源来解决这个问题,但由于某些原因,我无法在所有情况下使用资源.所以问题只是如何禁用这些警告,而不是如何更好地处理Android/Gradle中的配置管理.



1> Denis Lukeni..:

通常,一旦将光标置于警告中,请按ALT + ENTER.然后放大警告的上下文菜单.应该有一个条目"禁用检查"显示为红色X,如下所示:

例


在你的帮助下,我发现我在代码中使用了错误的检查.而不是`SimplifiableIfStatement`,它是`PointlessBooleanExpression`.这可以应用于带有`// noinspection`的语句和带有注释`@ SuppressWarning`的方法或类.
推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有