web-dev-qa-db-fra.com

Android: entier de la ressource xml

Comment dois-je modifier mes ressources XML ou quel fichier XML dois-je créer pour accéder aux valeurs entières de la même manière que vous accédez aux valeurs de chaîne avec R.string.some_string_resource?

Par exemple, dans le code, je veux dire:

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

C'est possible?

91
Terry

Oui c'est possible, ça ressemblerait à ça:

  1. Créez un fichier de ressources XML dans le dossier /res/values/ Appelé integers.xml.

    Vous êtes libre de lui donner le nom de votre choix, mais choisissez celui qui est évident.

  2. Dans ce fichier de ressources, créez vos valeurs entières.

    Votre fichier ressemble alors à quelque chose comme ça:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>    
        <integer name="maximum">100</integer>
        ...
    
    </resources>
    
  3. Référencez la valeur entière dans le Java comme ceci:

    C'est un peu différent de la getString(), vous devez faire un petit détour.

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

Espérons que cela aide tous ceux qui ont la même question.

228
Terry

Vous devez ajouter le fichier integers.xml à votre projet.

enter image description here

puis

enter image description here

et dans integers.xml ajouter ceci

<integer name="maximum">5</integer>
0