我是开发新手,我被困在一个我不知道什么是最好的解决方案的地步。
我在可绘制文件夹中保存了 26 张图像的列表。让我们说a到z。当用户点击右侧布局时,他们应该向前导航,如果用户点击左侧布局,他们应该向后导航。
我的问题是这些是图像,android 检索到的 ID 是随机的 int 值。我不能用它来比较接下来应该显示哪个字母。
我该如何解决这个问题?
- 如果我将图像命名为 a.png、b.png、c.png... 以后如何从 ID 中检索名称?
- 我可以使用集合框架将可绘制对象存储为键值对吗?
您可以通过以下方式获取资源的名称
String resourceName = getResources().getResourceName(resId);
您可以将所有图像 ID 存储在一个数组中。例如,
int images[]=new int[]{R.id.a,R.id.b,...,R.id.z};
然后,您需要在每次导航时保持当前图像在数组中的位置。例如将位置更改为
pos=(pos+1)%26;
对于下一张图片和
pos=(pos-1)%26;
对于以前的图像,然后使用
setImageResource(images[pos]);
ImageView 或 ImageButton,或者使用getResources()
.
您可以像这样检索可绘制文件夹中的图像ID...
int imagekey=getResources().getIdentifier(url.toLowerCase(),"drawable",getPackageName());
其中 url 是可绘制文件夹中图像的名称