使用android-studio资源时出现“表达式中的数字溢出”

时间:2019-02-06 15:51:54

标签: android-studio warnings android-resources

我已经声明了两个整数资源:

<resources>
    <integer name="COLUMNS">5</integer>
    <integer name="ROWS">4</integer>
</resources> 

当我尝试像这样计算结果的单元数(基于0)时:

R.integer.COLUMNS * R.integer.ROWS-1

我收到警告Numeric overflow in expression

任何人都可以向我解释为什么出现此警告以及警告是否有效或什至是危险的(崩溃,缓冲区溢出等)?


Android Studio 3.3 Build#AI-182.5107.16.33.5199772,建于2018年12月25日 JRE:1.8.0_152-release-1248-b01 amd64 JVM:JetBrains s.r.o的OpenJDK 64位服务器VM Windows 10 10.0

1 个答案:

答案 0 :(得分:1)

R.integer.COLUMNS是资源的整数 id ,而不是资源的
您可以使用以下方法获取资源的价值:

getResources().getInteger(R.integer.COLUMNS)