2013-10-10 16 views
64

Jak mam zmodyfikować moje zasoby XML lub jaki plik XML muszę utworzyć, aby uzyskać dostęp do wartości całkowitych w ten sam sposób, w jaki uzyskujesz dostęp do wartości ciągów przy pomocy R.string.some_string_resource?Android: liczba całkowita z zasobu xml

Na przykład, w kodzie chcę powiedzieć:

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

Czy to możliwe?

Odpowiedz

162

Tak, to jest możliwe, by to wyglądać tak:

  1. Utwórz plik zasobów XML w folderze /res/values/ zwanego integers.xml.

    Możesz dowolnie nadać jej nazwę, ale wybierz taką, która jest oczywista.

  2. W tym pliku zasobów utwórz wartości całkowite.

    Plik wtedy wygląda mniej więcej tak:

    <?xml version="1.0" encoding="utf-8"?> 
    <resources>  
        <integer name="maximum">100</integer> 
        ... 
    
    </resources> 
    
  3. referencyjny wartość całkowitą w kodzie Javy jak ten:

    to trochę różni się od getString(), trzeba wziąć mały objazd.

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

nadzieję, że pomoże każdemu, kto ma to samo pytanie.

+0

Podobają mi się twoje odpowiedzi, bardzo ładne –

+0

Chcę mieć 0,5 wartości na liczbę całkowitą do użycia w innym układzie, czy poprowadziłbyś mnie, jak to zrobić? –

+1

To podwójna wartość, a nie liczba całkowita. Może pytasz o to w osobnym pytaniu StackOverflow. – Terry

Powiązane problemy