android在xml文件中定义drawable数组、id数组等

简介:

假如我们需要在代码中为一组view设置相对应的一组图片资源时(如为listview/gridview的所有item设置一组对应的图片时),我们就可以在xml中定义一组代表图片的drawable数组,然后用代码进行读取。

开始我是这样做的:

[java]  view plain copy
  1. <integer-array name="actions_images">  
  2.     <item>@drawable/pencil1</item>  
  3.     <item>@drawable/pencil2</item>  
  4.     <item>@drawable/pencil3</item>  
  5.     <item>@drawable/pencil4</item>  
  6.     <item>@drawable/pencil5</item>  
  7.     <item>@drawable/pencil6</item>  
  8. </integer-array>  

然后在代码中 试图 调用getResources().getIntArray来获取图片的id,可发现根本行不通。最终查stackoverflow给出了解决办法:

1、在xml中要这样定义:

[java]  view plain copy
  1. <string-array name="actions_images">  
  2.     <item>@drawable/pencil1</item>  
  3.     <item>@drawable/pencil2</item>  
  4.     <item>@drawable/pencil3</item>  
  5.     <item>@drawable/pencil4</item>  
  6.     <item>@drawable/pencil5</item>  
  7.     <item>@drawable/pencil6</item>  
  8. </string-array>  

2、在java代码中这样来获取:

[java]  view plain copy
  1. TypedArray ar = context.getResources().obtainTypedArray(R.array.actions_images);  
  2. int len = ar.length();       
  3. int[] resIds = new int[len];       
  4. for (int i = 0; i < len; i++)       
  5.     resIds[i] = ar.getResourceId(i, 0);  
  6.   
  7. ar.recycle();    

图片的id就保存在resIds中去了,然后我们就可以引用它(比如用img.setImageResourse(resIds[0]))来设置图片了。


同理,要想在xml中定义id数组,做法一样。



参考:http://stackoverflow.com/questions/6945678/android-storing-r-drawable-ids-in-xml-array

相关文章
|
3天前
|
XML 数据格式
小米备份descript.xml文件
小米备份descript.xml文件
11 0
|
15天前
|
XML Java 数据库连接
mybatis中在xml文件中通用查询结果列如何使用
mybatis中在xml文件中通用查询结果列如何使用
16 0
|
17天前
|
XML JavaScript 前端开发
xml文件使用及解析
xml文件使用及解析
|
1月前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
11 0
|
2天前
|
存储 Java API
Android系统 文件访问权限笔记
Android系统 文件访问权限笔记
29 1
|
2天前
|
移动开发 Java Unix
Android系统 自动加载自定义JAR文件
Android系统 自动加载自定义JAR文件
19 1
|
2天前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
14 1
|
2天前
|
Android开发
Android源代码定制:添加customize.mk文件进行分项目和分客户的定制
Android源代码定制:添加customize.mk文件进行分项目和分客户的定制
2 0
|
6天前
|
XML C# 数据格式
C# 解析XML文件
C# 解析XML文件
15 1
|
1月前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
15 1