2013-10-22 14 views
9

Folgende ist meine integers.xml Datei,Wie bekomme ich den Integer-Wert von 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> 

wenn es strings.xml, i Zugriffsvariablen wie unten,

getString(R.string.<variable_name>); 

aber wie kann ich tun gleiche bekommen Wert von integeres.xml Datei haben könnte?

Wenn ich schreibe getResources().getInteger(R.integer. zeigt es mir 3 Variable, die ich nicht erklärt habe.

enter image description here

So zugreifen Wie kann ich die Variable, die ich in integers.xml Datei deklariert?

Antwort

11

Sie suchen die android.R.integer anstelle von your.namespace.R.integer.

Eclipse importiert wahrscheinlich den falschen; Manchmal macht es das, es ist eher ärgerlich.

am Anfang der Datei auf Ihre Importe gehen und entfernen: import android.R;

Dann sollten Sie in der Lage sein, die Quick-Fix zu verwenden, um den korrekten Import hinzuzufügen.

+0

Perfekt !!!, Wird in wenigen Minuten akzeptieren – Vigbyor

5

Möglicherweise müssen Sie Ihr Projekt einmal säubern, bevor Sie auf diese Datei zugreifen. Ich mache es so und es funktioniert immer.

Versuchen Sie, Ihr Projekt zu säubern und starten Sie Ihre Eclipse neu, weil dies der richtige Weg ist.

+0

NOPES, hat es nicht funktioniert – Vigbyor

+0

Try um einige Layout-Dateien zu ändern und dann dein Projekt zu säubern, habe ich es zweimal überprüft, dass es hier funktioniert! –

+0

Ich habe diese Dinge schon ausprobiert, aber es war problematisch, die richtige R.java-Datei zu importieren, die jetzt gelöst ist. +1 für deine Mühe, Liebes. – Vigbyor

20

Es sollte wie folgt geschehen:

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

wo int_value wird der Variablenname in Ihrem xml gegeben

+0

Nopes, Es hat nicht funktioniert – Vigbyor

+0

reinigen Sie das Projekt und Überprüfen Sie auch die Importe in Ihrer Klasse, möglicherweise haben Sie die android.R Eigenschaften. Sie müssen zu Ihren Paketeigenschaften ändern – Lavanya

+0

Yup, Es war ein Fehler beim inkorrekten Import von R.java, +1 für Ihre Mühe – Vigbyor

4

einfachen Code:

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