开发者社区> 问答> 正文

从Android程序中的xml资源获取整数数组

只是个速成

我在res / values / integers.xml中有一个xml资源


<?xml version="1.0" encoding="utf-8"?>
<resources>
     <integer-array name="UserBases">
          <item>2</item>
          <item>8</item>
          <item>10</item>
          <item>16</item>
     </integer-array>
</resources>

香港专业教育学院尝试了几种方法来访问它:

int[] bases = R.array.UserBases; 这只是返回并且对UserBases的int引用而不是数组本身

int[] bases = Resources.getSystem().getIntArray(R.array.UserBases);

并且这向我抛出异常,告诉我int引用R.array.UserBases指向无内容

什么是访问此数组的最佳方法,将其推入一个不错的基本类型int [],然后可能将所有修改推回xml资源。

我已经检查了android文档,但是还没有发现任何非常有用的东西。

展开
收起
Puppet 2020-01-24 18:28:40 465 0
1 条回答
写回答
取消 提交回答
  • 您需要使用参考资料来获取int数组;但是,您正在使用系统资源,其中仅包括标准的Android资源(例如,可通过访问的资源android.R.array.*)。要获得自己的资源,您需要通过您的上下文之一访问资源。

    例如,所有活动都是上下文,因此在活动中可以执行以下操作:

    
    Resources r = getResources();
    int[] bases = r.getIntArray(R.array.UserBases);
    

    这就是为什么传递Context通常很有用的原因;您将需要它来获取应用程序的资源。

    2020-01-24 18:29:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载