如何在xml文件引用string-array下的item 标签

 我来答
huanglenzhi
2015-04-16 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517193
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
  方法/步骤
  一、数组中的数据为具体的值:
  比如arrays.xml文件中的数组如下:
  <string-array name="select_dialog_items">
  <item>Command one</item>
  <item>Command two</item>
  <item>Command three</item>
  <item>Command four</item>
  </string-array>
  代码中获取该数组资源的具体代码如下:
  String[] items = getResources().getStringArray(R.array.select_dialog_items);
  items数组中的数据就是arrays.xml文件中对应资源id R.array.select_dialog_items中的数据;
  数据为其它类型的数组也可以通过Resources类中相应的方法获取,比如:
  获取整型数组的数据方法为:
  public int[] getIntArray(int id) throws NotFoundException
  获取文本数组的数据方法为:
  public CharSequence[] getTextArray(int id) throws NotFoundException
  二、数组中的数据为对资源数据的引用:
  比如arrays.xml文件中的数组如下:
  <string-array name="feed_icons">
  <item>@drawable/latest</item>
  <item>@drawable/video</item>
  <item>@drawable/world</item>
  <item>@drawable/sports</item>
  <item>@drawable/arts</item>
  <item>@drawable/dining</item>
  </string-array>
  代码中获取该数组资源的具体代码如下:
  TypedArray typedArray = getResources().obtainTypedArray(R.array.feed_icons);
  String[] titleArr = getResources().getStringArray(R.array.feed_names);
  if( null != titleArr ){
  int titleLength = titleArr.length;
  for( int index = 0; index < titleLength; index++ ){
  int feedResId = typedArray.getResourceId( index, 0 );
  //...
  }
  }
  获取arrays.xml中数据项为引用资源数据的数组时,首先通过Resources类中的obtainTypedArray方法获取到TypedArray实例,然后通过TypedArray方法中的getResourcesId方法获取数组中每一项的资源id,这样就能顺利地引用到数组中资源了。
  通过代码获取arrays.xml中的数组资源时,数组中的元素项不宜过多,特别是一次性获取的时候,有可能你在使用时它还没有获取到你需要使用的数组项。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式