1

在我的资源 (res/) 文件夹中,我有以下文件。

├── values
│   ├── dimens.xml
│   ├── strings.xml
│   └── values.xml
├── values-en
│   └── strings.xml
├── values-de
│   └── strings.xml

values/values.xml我定义了我的应用程序中需要的布尔值:

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

当我在语言设置为英语的设备上运行我的应用程序时,我发现在运行时引用时抛出异常myboolean

android.content.res.Resources$NotFoundException: Resource ID #0x7f020001 type #0x3 is not valid.

奇怪的是,如果我将values.xml文件复制到本地化文件夹中,则布尔值读取得很好,并且没有运行时异常。IE:

├── values
│   ├── dimens.xml
│   ├── strings.xml
│   └── values.xml
├── values-en
│   ├── strings.xml
│   └── values.xml
├── values-de
│   ├── strings.xml
│   └── values.xml

为什么需要在本地化文件夹中定义此值?默认值文件夹不应该足够吗?

值得注意的是,这似乎只发生在我在特定 FireOS 设备上的应用程序上,并且可能是这些设备上的 FireOS 构建的特定错误。FireOS 构建基于 Android API 级别 23。

4

0 回答 0