将图片保存在 array.xml 成string-array 以及读取

本文介绍了一种将图片资源与StringArray结合使用的方法,通过TypedArray实现动态加载图标资源,方便应用程序维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天想把图片也放到string.xml文件夹中便于读取使用,但是发现好像不行,多亏了这位兄台,直接上代码!!!

主要就是  TypeArray这个东西,


<?xml version="1.0" encoding="utf-8"?>  
<resources>  
          
        <string-array name="feed_names">  
                <item>新闻</item>  
                <item>视频</item>  
                <item>国际新闻</item>  
                <item>体育</item>  
                <item>艺术</item>  
                <item>餐饮</item>  
        </string-array>  
          
        <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>  
</resources>



Map<String, Object> map;  
        TypedArray ta = getResources().obtainTypedArray(R.array.feed_icons);  
        String[] titleArr = getResources().getStringArray(R.array.feed_names);  
        for(int i=0; i<titleArr.length; i++)  
        {  
            map = new HashMap<String, Object>();  
            map.put("icon", ta.getResourceId(i, 0));  
            map.put("title", titleArr[i]);  
            list.add(map);  
        }  


获取要用:

TypedArray ta = getResources().obtainTypedArray(R.array.feed_icons);

读取时:
int id = ta.getResourceId(index, 0);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值