2013-10-10 13 views
64

Come devo modificare le mie risorse XML o quale file XML devo creare per accedere ai valori interi nello stesso modo in cui si accede ai valori stringa con R.string.some_string_resource?Android: numero intero dalla risorsa xml

Ad esempio, nel codice che voglio dire:

ProgressDialog progressBar = new ProgressDialog(getContext()); 
progressBar.setMax(getInteger(R.integer.maximum)); 

E 'possibile?

risposta

162

Sì, è possibile, sarebbe simile a questa:

  1. Creare un file XML risorse nella cartella denominata /res/values/ integers.xml.

    Sei libero di dargli un nome come vuoi, ma scegli quello che è ovvio.

  2. In tale file di risorse, creare i valori interi.

    Il file sembra poi una cosa del genere:

    <?xml version="1.0" encoding="utf-8"?> 
    <resources>  
        <integer name="maximum">100</integer> 
        ... 
    
    </resources> 
    
  3. di riferimento il valore intero nel codice Java come questo:

    E 'un po' diverso dal getString(), si deve prendere una piccola deviazione.

    ProgressDialog progressBar = new ProgressDialog(getContext()); 
    int max = getContext().getResources().getInteger(R.integer.maximum); 
    progressBar.setMax(max); 
    

Speranza che aiuta chiunque abbia la stessa domanda.

+0

Mi piace la tua risposta, molto bella –

+0

Voglio avere il valore 0.5 per l'intero da usare in un layout diverso, mi guideresti come farlo? –

+1

Questo è un doppio valore, non un intero. Forse lo chiedi in una domanda di StackOverflow separata. – Terry