Home » Android » Android: integer from xml resource

Android: integer from xml resource

Posted by: admin March 11, 2020 Leave a comment

Questions:

How do I have to modify my XML resources, or what XML file do I have to create, to access integer values in the same way you access string values with R.string.some_string_resource ?

For example, in the code I want to say:

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

Is it possible?

How to&Answers:

Yes it is possible, it would look like this:

  1. Create an xml resources file in the folder /res/values/ called integers.xml.

    You are free to give it any name as you want, but choose one that is obvious.

  2. In that resources file, create your integer values.

    Your file then looks something like that:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>    
        <integer name="maximum">100</integer>
        ...
    
    </resources>
    
  3. Reference the integer value in the Java code like this:

    It’s a bit different from the getString(), you have to take a little detour.

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

Answer:

You must add the integers.xml file to your project

enter image description here

and then

enter image description here

and in integers.xml add this

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