0

我是开发新手,我被困在一个我不知道什么是最好的解决方案的地步。

我在可绘制文件夹中保存了 26 张图像的列表。让我们说a到z。当用户点击右侧布局时,他们应该向前导航,如果用户点击左侧布局,他们应该向后导航。

我的问题是这些是图像,android 检索到的 ID 是随机的 int 值。我不能用它来比较接下来应该显示哪个字母。

我该如何解决这个问题?

  1. 如果我将图像命名为 a.png、b.png、c.png... 以后如何从 ID 中检索名称?
  2. 我可以使用集合框架将可绘制对象存储为键值对吗?
4

3 回答 3

2

您可以通过以下方式获取资源的名称

String resourceName = getResources().getResourceName(resId);
于 2013-04-30T03:42:30.120 回答
1

您可以将所有图像 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().

于 2013-04-30T04:09:46.727 回答
1

您可以像这样检索可绘制文件夹中的图像ID...

 int imagekey=getResources().getIdentifier(url.toLowerCase(),"drawable",getPackageName());

其中 url 是可绘制文件夹中图像的名称

于 2016-11-19T08:28:31.033 回答