2013-10-22 39 views
9

以下是我integers.xml文件,如何从res/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变量,我还没有宣布。

enter image description here

所以,我怎样才能访问我在integers.xml文件中声明的变量?

回答

11

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

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

转到您的进口在文件的顶部,并删除: import android.R;

那么你应该能够使用速战速决添加正确的导入。

+0

完美!!!,将在几分钟内接受 – Vigbyor

5

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

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

试着清理你的项目并重新启动你的eclipse,因为这是正确的做法。

+0

Nopes,它没有工作 – Vigbyor

+0

尝试改变一些布局文件,然后清理你的项目,我检查了两次它在这里工作! –

+0

我已经试过这些东西了,但它导入了正确的R.java文件,现在已经解决了。 +1为你的努力亲爱的。 – Vigbyor

20

应该这样做:

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

其中int_value的变量名在XML

+0

没有,它没有工作 – Vigbyor

+0

清洁项目和也检查你的类中的进口,你可能已经得到了android.R属性。您需要更改为您的软件包属性 – Lavanya

+0

是的,这是R.java的错误导入,您的努力+1错误 – Vigbyor

4

简单的代码给定:

int maximum = getContext().getResources().getInteger(R.integer.maximum);