错误:类型为styleable [ResourceType]错误的预期资源

Cod*_*ley 27 android lint android-studio

看一下这段代码片段.我在最后一行收到错误,因为我传递的是"索引"而不是资源.我认为这是一个皮棉问题,并试图压制它.然后我注意到我只是在构建发布时才收到此错误.构建调试时它工作正常.我完全无能为力.任何人都可以对我做错的事情有所了解.

//Get paddingLeft, paddingRight
        int[] attrsArray = new int[]{
                android.R.attr.paddingLeft,  // 0
                android.R.attr.paddingRight, // 1
        };
        TypedArray ta = context.obtainStyledAttributes(attrs, attrsArray);
        if (ta == null) return;
        mPaddingLeft = ta.getDimensionPixelSize(0, 0);
        mPaddingRight = ta.getDimensionPixelSize(1/*error here*/, 0); 
Run Code Online (Sandbox Code Playgroud)

Joe*_*112 58

尝试构建签名的apk时,我遇到了同样的问题.通过添加@SuppressWarnings("ResourceType")来解决它来抑制警告,现在它工作正常.

  • 或者您可以在该行之前使用// noinspection ResourceType,以避免仅在该行代码中进行检查 (3认同)

Sim*_*mon 8

@StyleableRes int index = 1;

mPaddingRight = ta.getDimensionPixelSize(index, 0); 
Run Code Online (Sandbox Code Playgroud)