2013-04-30 52 views
0

我是新来的开发人员,我被困在一个点,我不知道什么是最好的解决方案。android-可绘制文件夹中的图像并将它们的id变为java

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

我的问题是,这些是由android获取的图像和它们的ID是随机的int值。我不能用它来比较下一个应该显示哪个字母的字母。

我该如何解决这个问题?

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

- 第一确定drawables..then的阵列创建2个方法1用于检索数组中的下一个可绘制位置,1用于检索数组中的先前可绘制位置。然后您可以根据要求执行操作。 – TheFlash 2013-04-30 05:09:36

回答

2

您可以通过

String resourceName = getResources().getResourceName(resId); 
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()

1

您可以retrive在这样的绘制文件夹的图像的ID ...

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

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

相关问题