2013-10-10 26 views
64

R.string.some_string_resource ile dize değerlerine eriştiğiniz gibi tamsayı değerlerine erişmek için XML kaynaklarımı veya hangi XML dosyasının oluşturmak zorunda olduğumu nasıl değiştirmeliyim?Android: xml kaynağından tamsayı

Örneğin, kod söylemek istediğim: Mümkün

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

mi?

cevap

162

Evet bu mümkün, bu şekilde görünecektir:

  1. klasör /res/values/ denilen integers.xml içinde bir xml kaynaklar dosyası oluşturun.

    İstediğiniz gibi bir ad vermekte serbestsiniz, ancak açık olanı seçin.

  2. Bu kaynak dosyasında tamsayı değerlerinizi oluşturun.

    <?xml version="1.0" encoding="utf-8"?> 
    <resources>  
        <integer name="maximum">100</integer> 
        ... 
    
    </resources> 
    
  3. Referans böyle Java kodunda tamsayı değeri:

    O getString() biraz farklı, biliyor almak zorunda

    Dosyanız sonra böyle bir şey görünüyor küçük bir sapma. aynı soruyu sahip kimseyi yardımcı

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

Umut.

+0

Cevabınızı çok beğeniyorum, çok güzel –

+0

Farklı düzende kullanmak üzere tamsayı için 0.5 değerine sahip olmak istiyorum, nasıl yapılacağını bana rehberlik eder misiniz? –

+1

Bu bir çift değer, tam sayı değil. Belki de bunu ayrı bir StackOverflow sorusunda soruyorsunuzdur. – Terry