Android布尔资源不被识别为bool,而是作为int

时间:2014-03-21 19:55:16

标签: android android-resources

我正在编写Android个应用,但在定义boolean资源方面存在问题。

我有一个文件bools.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="preferences_autoplay">true</bool>
</resources>

然而,当我尝试使用R.bool.preferences_autoplay时,它被识别为int而不是boolean

enter image description here

我收到错误:

putBoolean(String, boolean)类型中的方法SharedPreferences.Editor不适用于参数(String, int)

如果需要,我当然可以使用int,但我不明白为什么它不会被识别为boolean

有关如何将boolean资源用作boolean

的任何想法

1 个答案:

答案 0 :(得分:7)

生成的R字段引用指定布尔值(或其他类型)的ID。您可以使用Resources.getBoolean解析实际值。 E.g:

boolean ap = context.getResources().getBoolean(R.bool.preferences_autoplay);