【问题标题】:Android: integer from xml resourceAndroid:来自xml资源的整数
【发布时间】:2013-10-10 13:45:33
【问题描述】:

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

比如我想说的代码中:

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

有可能吗?

【问题讨论】:

    标签: android android-resources


    【解决方案1】:

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

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

      您可以随意给它起任何名称,但请选择一个明显的名称。

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

      你的文件看起来像这样:

      <?xml version="1.0" encoding="utf-8"?>
      <resources>    
          <integer name="maximum">100</integer>
          ...
      
      </resources>
      
    3. 像这样在 Java 代码中引用整数值:

      getString()有点不一样,要绕路。

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

    【讨论】:

    • 这是一个双精度值,而不是整数。也许你会在一个单独的 StackOverflow 问题中问这个问题。
    • @Terry 那么这是在 android 中使用整数的首选方法吗,我通常在代码本身中对其进行硬编码。你有什么建议?
    • @capt.swag 通常,您在每个类的代码中将整数硬编码为常量。但是,如果您需要为不同的布局设置不同的常量(即网格的列数),那么您将使用 XML 文件使该常量适应屏幕的各种宽度。希望有帮助
    • 我可以直接在 XML 中使用该整数值吗?
    • @capt.swag 是的,这是首选方法
    【解决方案2】:

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

    然后

    在 integers.xml 中添加这个

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      • 2011-01-05
      • 2011-11-08
      相关资源
      最近更新 更多