arrays.xml文件

前端之家收集整理的这篇文章主要介绍了arrays.xml文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

arrays.xml文件中用于放各种数组数据,比如字符串数组、整型数组等,数组中的数据可能是具体的值,也有可能是对资源数据的引用,下面针对这两种情况通过代码获取相应的数组数据。

一、数组中的数据为具体的值:

arrays.xml文件中的数组如下:

  1. <string-arrayname="select_dialog_items">
  2. <item>Commandone</item>
  3. <item>Commandtwo</item>
  4. <item>Commandthree</item>
  5. <item>Commandfour</item>
  6. </string-array>

代码获取该数组资源的具体代码如下:

  1. String[]items=getResources().getStringArray(R.array.select_dialog_items);
items数组中的数据就是arrays.xml文件中对应资源id R.array.select_dialog_items中的数据;

数据为其它类型的数组也可以通过Resources类中相应的方法获取,比如:

获取整型数组的数据方法为:

  1. publicint[]getIntArray(intid)throwsNotFoundException

获取文本数组的数据方法为:

  1. publicCharSequence[]getTextArray(intid)throwsNotFoundException

二、数组中的数据为对资源数据的引用:

arrays.xml文件中的数组如下:

  1. <string-arrayname="Feed_icons">
  2. <item>@drawable/latest</item>
  3. <item>@drawable/video</item>
  4. <item>@drawable/world</item>
  5. <item>@drawable/sports</item>
  6. <item>@drawable/arts</item>
  7. <item>@drawable/dining</item>
  8. </string-array>

代码获取该数组资源的具体代码如下:

  1. TypedArraytypedArray=getResources().obtainTypedArray(R.array.Feed_icons);
  2. String[]titleArr=getResources().getStringArray(R.array.Feed_names);
  3. if(null!=titleArr){
  4. inttitleLength=titleArr.length;
  5. for(intindex=0;index<titleLength;index++){
  6. intFeedResId=typedArray.getResourceId(index,0);
  7. //...
  8. }
  9. }
获取arrays.xml中数据项为引用资源数据的数组时,首先通过Resources类中的obtainTypedArray方法获取到TypedArray实例,然后通过TypedArray方法中的getResourcesId方法获取数组中每一项的资源id,这样就能顺利地引用到数组中资源了。


通过代码获取arrays.xml中的数组资源时,数组中的元素项不宜过多,特别是一次性获取的时候,有可能你在使用时它还没有获取到你需要使用的数组项。

猜你在找的XML相关文章