频道栏目
首页 > 程序开发 > 移动开发 > Android > 正文
[android]在xml文件中定义drawable数组、id数组等
2014-09-09 10:53:01         来源:u011494050的专栏  
收藏   我要投稿

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

开始我是这样做的:

 


    @drawable/pencil1
    @drawable/pencil2
    @drawable/pencil3
    @drawable/pencil4
    @drawable/pencil5
    @drawable/pencil6

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

 

1、在xml中要这样定义:

 


    @drawable/pencil1
    @drawable/pencil2
    @drawable/pencil3
    @drawable/pencil4
    @drawable/pencil5
    @drawable/pencil6


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

 

 

TypedArray ar = context.getResources().obtainTypedArray(R.array.actions_images);
int len = ar.length();     
int[] resIds = new int[len];     
for (int i = 0; i < len; i++)     
    resIds[i] = ar.getResourceId(i, 0);

ar.recycle();  

 

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

 

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

 

 

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


点击复制链接 与好友分享!回本站首页
相关TAG标签 数组 文件
上一篇:Android View系统分析之从setContentView说开来(一)
下一篇:Android学习笔记-保存数据的实现方法2-SharedPreferences
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站