错误:typesstyleable 错误的预期资源

看看这个代码片段。 我得到最后一行的错误,因为我传递的是“索引”而不是资源。 我认为这是一个不起眼的问题,并试图压制它。 然后,我注意到,只有在构build发布时,我才会收到此错误。 build立debugging时它工作正常。 我完全无能为力 任何人都可以抛出一些我做错了什么。

//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); 

  • 正确的方法来处理Android Studio的NullPointerException lint警告
  • Android:Lint说 - 在项目或库中找不到布局文件中引用的类
  • 在Android lint中忽略几个警告
  • Android Lint是什么意思:“错误的定位?”
  • select器,层列表和形状/位图在相同的XML
  • 防止代码意外投入生产
  • ./gradlew林特说“没有问题”,但分析 - >检查代码发现问题
  • 当gradle执行检查时避免lint
  • 尝试构build签名的apk时,我遇到了同样的问题。 通过添加@SuppressWarnings("ResourceType")来解决它的警告,现在它工作正常。

    @StyleableRes int index = 1;

    mPaddingRight = ta.getDimensionPixelSize(index,0);

     TypedValue outValue = new TypedValue(); context.getTheme().resolveAttribute(android.R.attr.paddingLeft, outValue, true); int paddingLeft = outValue.data; 

    对android.R.attr.paddingRight重复相同的操作