2013-10-10 7 views
64

Wie muss ich meine XML-Ressourcen ändern, oder welche XML-Datei muss ich erstellen, um auf Integer-Werte auf die gleiche Weise zugreifen, wie Sie mit R.string.some_string_resource auf Zeichenfolge Werte zugreifen?Android: Ganzzahl aus XML-Ressource

Zum Beispiel im Code möchte ich sagen:

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

Ist es möglich?

Antwort

162

Ja, es möglich ist, würde es so aussehen:

  1. Erstellen Sie eine XML-Ressourcen-Datei im Ordner /res/values/ genannt integers.xml.

    Sie können ihm einen beliebigen Namen geben, aber wählen Sie einen, der offensichtlich ist.

  2. Erstellen Sie in dieser Ressourcendatei Ihre ganzzahligen Werte.

    Ihre Datei sieht dann so ähnlich:

    <?xml version="1.0" encoding="utf-8"?> 
    <resources>  
        <integer name="maximum">100</integer> 
        ... 
    
    </resources> 
    
  3. Referenz des Integer-Wert in dem Java-Code wie folgt:

    Es ist ein bisschen anders als die getString(), müssen Sie nehmen ein kleiner Umweg.

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

Hoffnung, dass jeder, der die gleiche Frage hat hilft.

+0

Ich mag Ihre Antwort, sehr nett –

+0

Ich möchte 0,5 Wert für Integer in verschiedenen Layout verwenden, würden Sie mich führen, wie es geht? –

+1

Das ist ein doppelter Wert, keine Ganzzahl. Vielleicht fragst du das in einer separaten StackOverflow-Frage. – Terry