web-dev-qa-db-ja.com

res / integers.xmlから整数値を取得する方法は?

以下は、私の_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_ファイルで宣言した変数にアクセスできますか?

17
Vigbyor

あなたはAndroid.R.integer の代わりに your.namespace.R.integer

Eclipseはおそらく間違ったものをインポートしました。それは時々それをします、それはかなり迷惑です。

ファイルの上部にあるインポートに移動して、削除します:import Android.R;

その後、クイックフィックスを使用して正しいインポートを追加できるはずです。

11
Adam S

これは次のように行う必要があります。

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

ここで、int_valueはxmlで指定された変数名です

29
Lavanya

これらのファイルにアクセスする前にプロジェクトを一度クリーンアップする必要があるかもしれません。私はこのようにそれを行い、それは常に動作します。

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

これが正しい方法であるため、プロジェクトをクリーンアップしてEclipseを再起動してください。

8
Dr. aNdRO

簡単なコード:

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