Android:来自xml资源的整数

Ter*_*rry 94 android android-resources

我如何修改我的XML资源,或者我必须创建什么XML文件,以访问整数值的方式与访问字符串值的方式相同R.string.some_string_resource

例如,在我想说的代码中:

ProgressDialog progressBar = new ProgressDialog(getContext());
progressBar.setMax(getInteger(R.integer.maximum));
Run Code Online (Sandbox Code Playgroud)

可能吗?

Ter*_*rry 235

是的,它有可能,它看起来像这样:

  1. /res/values/名为integers.xml 的文件夹中创建xml资源文件.

    您可以随意给它任何名称,但选择一个显而易见的名称.

  2. 在该资源文件中,创建整数值.

    您的文件看起来像这样:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>    
        <integer name="maximum">100</integer>
        ...
    
    </resources>
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在Java代码中引用整数值,如下所示:

    它有点不同getString(),你必须绕道而行.

    ProgressDialog progressBar = new ProgressDialog(getContext());
    int max = getContext().getResources().getInteger(R.integer.maximum);
    progressBar.setMax(max);
    
    Run Code Online (Sandbox Code Playgroud)

希望能帮助任何有同样问题的人.

  • @capt.swag 通常,您会根据需要将整数硬编码为每个类中代码中的常量。但是,如果您需要为不同的布局使用不同的常量(即网格的列数),那么您将使用 XML 文件使该常量适应屏幕的各种宽度。希望有帮助 (2认同)

abo*_*ndi 8

您必须将 integers.xml 文件添加到您的项目中

在此处输入图片说明

进而

在此处输入图片说明

并在 integers.xml 添加这个

<integer name="maximum">5</integer>
Run Code Online (Sandbox Code Playgroud)