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

GRW*_*GRW 1 android android-resources

我正在编写一个Android应用程序,并且在定义boolean资源方面存在问题.

我有一个文件, bools.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="preferences_autoplay">true</bool>
</resources>
Run Code Online (Sandbox Code Playgroud)

然而,当我尝试使用时R.bool.preferences_autoplay,它被认为是一个int而不是一个boolean:

在此输入图像描述

我收到错误:

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

int如果我需要,我当然可以使用一个,但我不明白为什么它不被认为是一个boolean.

关于如何使用boolean资源的任何想法boolean

tvk*_*ers 7

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

boolean ap = context.getResources().getBoolean(R.bool.preferences_autoplay);
Run Code Online (Sandbox Code Playgroud)