2013-10-22 13 views
9

segue è il mio file integers.xml,Come ottenere il valore intero da 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> 

se era strings.xml, ho potuto avere accesso variabili come qui di seguito,

getString(R.string.<variable_name>); 

ma come posso fare lo stesso per ottenere il valore da file integeres.xml?

quando scrivo getResources().getInteger(R.integer. mi mostra 3 variabili che non ho dichiarato.

enter image description here

Così come posso accedere alla variabile, che ho dichiarato in integers.xml di file?

risposta

11

Stai guardando il android.R.integer anziché your.namespace.R.integer.

Eclipse probabilmente ha importato quello sbagliato; lo fa a volte, è piuttosto fastidioso.

andare al tuo importazioni nella parte superiore del file e rimuovere: import android.R;

allora si dovrebbe essere in grado di utilizzare il quick-fix per aggiungere l'importazione corretta.

+0

Perfetto !!!, Accetterà in pochi minuti – Vigbyor

5

Potrebbe essere necessario pulire il progetto una volta prima di accedere a questi file. Lo faccio così e funziona sempre.

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

Provare a pulire il progetto e riavviare l'eclissi perché questo è il modo giusto di farlo.

+0

Nopes, Non ha funzionato – Vigbyor

+0

Try per cambiare un file di layout e quindi pulire il tuo progetto, ho controllato due volte il suo funzionamento qui! –

+0

Ho già provato quelle cose, ma è stato un problema importare il file R.java corretto, che ora è stato risolto. +1 per il tuo impegno caro. – Vigbyor

20

Dovrebbe essere fatto in questo modo:

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

dove int_value è il nome della variabile dato nella vostra xml

+0

Nopes, Non ha funzionato – Vigbyor

+0

pulire il Progetto e controlla anche le importazioni nella tua classe, potresti avere le proprietà android.R. Devi modificare le proprietà del pacchetto – Lavanya

+0

Sì, è stato un errore di importazione non corretta di R.java, +1 per il tuo impegno – Vigbyor

4

codice semplice:

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