19

以下是我的integers.xml文件,

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="LOCATION_ALARM_INTERVAL">60000</integer>
    <integer name="MID_NIGHT_ALARM_INTERVAL">86400000</integer>
</resources>

如果是的话strings.xml,我可以像下面这样访问变量,

getString( R.string.<variable_name> );

但是我怎样才能从 integeres.xml 文件中获取价值呢?

当我写getResources().getInteger(R.integer.它时,它显示了我没有声明的 3 个变量。

在此处输入图像描述

那么如何访问我在integers.xml文件中声明的变量?

4

4 回答 4

34

应该这样做:

Resources res = getResources();
int i= res.getInteger(R.integer.int_value);

其中 int_value 是您的 xml 中给出的变量名

于 2013-10-22T04:24:34.037 回答
12

您正在查看android.R.integer而不是your.namespace.R.integer.

Eclipse 可能导入了错误的;它有时会这样做,这很烦人。

转到文件顶部的导入并删除: import android.R;

然后您应该能够使用快速修复来添加正确的导入。

于 2013-10-22T04:23:28.463 回答
8

可能您必须在访问这些文件之前清理您的项目一次。我这样做,它总是有效的。

Resources r = getResources();
int i = r.getInteger(R.integer.<variable_name>)

尝试清理您的项目并重新启动您的 Eclipse,因为这是正确的做法。

于 2013-10-22T04:22:19.743 回答
6

简单的代码:

int maximum = getContext().getResources().getInteger(R.integer.maximum);
于 2016-02-28T10:36:05.737 回答