Android kotlin integer-array 存放图片资源ID

在Android开发中,我们可以使用Kotlin的数组来存储图片资源ID。以下是一个简单的例子,演示如何创建一个整型数组来存储图片资源ID,并在后续使用这些资源ID。

首先,在你的res/values/strings.xml文件中定义你的图片资源ID数组:

XML 复制代码
<resources>
    <integer-array name="image_resources">
        <item>@drawable/image1</item>
        <item>@drawable/image2</item>
        <item>@drawable/image3</item>
        <!-- 更多图片资源 -->
    </integer-array>
</resources>

然后,在Kotlin代码中,你可以使用以下方式访问和使用这些资源ID:

Kotlin 复制代码
val imageIds = resources.obtainTypedArray(R.array.image_resources)
val imageCount = imageIds.length()
val imageResIds = IntArray(imageCount)
 
for (i in 0 until imageCount) {
    imageResIds[i] = imageIds.getResourceId(i, 0)
}
 
imageIds.recycle() // 清理资源
 
// 使用imageResIds中的资源ID来设置ImageView
val imageView = findViewById<ImageView>(R.id.my_image_view)
imageView.setImageResource(imageResIds[0]) // 例如设置第一张图片

这段代码首先获取了一个TypedArray对象,该对象包含了所有在XML中定义的资源ID。然后,我们遍历这个数组,将每个资源ID添加到一个整型数组中,最后释放掉TypedArray资源。随后,你可以使用这个数组中的资源ID来加载图片,例如设置到ImageView中。

相关推荐
默阳12341 小时前
2026年Android中高级面试题专栏(Android进阶篇)
android
古法安卓2 小时前
Android-日志系统源码解析
android·java·android studio
恋猫de小郭3 小时前
Android 17 + OkHttp 5.5.0 ,全新 ECH 下你的 HTTPS 域名可以请求时被安全隐藏
android·前端·flutter
小强闯江湖3 小时前
不只是让 AI 写代码:ViewCompose 把 Android UI 做成了可编译、可渲染的闭环
android·人工智能·kotlin
hunterandroid4 小时前
StateFlow 与 SharedFlow 的边界:状态与事件的正确建模
android·前端
YF02114 小时前
Android遥控器对频详解
android·android things
码农coding6 小时前
android12 WindowManagerService窗口的布局过程
android·源码
杉氧8 小时前
状态管理变迁史:为什么我们放弃了 Redux 选择 Zustand?
android·前端·react native
Interview Aid11211 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
三少爷的鞋12 小时前
别再靠 Code Review 守底线:我做了一个静态分析项目 RedLine
android