首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Java: R.id.variable1..variable2..variable3..etc

Android Java: R.id.variable1..variable2..variable3..etc
EN

Stack Overflow用户
提问于 2012-03-16 00:56:24
回答 4查看 625关注 0票数 1

我正在尝试学习用于Android的Java,甚至不确定如何在Google上搜索它。我想知道是否有一种方法可以通过编程将数字附加到R.id.variable或R.drawable.variable等的末尾?

基本上我有几个标记为image1,image2,image3等的图像。我想更新ImageView可绘制文件,使其基于另一个变量。因此,如果传递变量是"1",它会将视图更新为"image1“。如果它是"2“,它将更新"image2”,依此类推,但我不知道在调用更新时是否有方法将"1“附加到"R.drawable.image”。

做这件事的最佳方式是什么?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-03-16 01:04:17

也许会有帮助:

你的图片: image1.png,image2.png,....,imageN.png

你可以找到他们的id:

代码语言:javascript
复制
getResources().getIdentifier("IMAGE_NAME", "drawable", context.getPackageName())

所以:

代码语言:javascript
复制
 int idImage1 = getResources().getIdentifier("image1", "drawable", context.getPackageName())
 int idImage2 = getResources().getIdentifier("image2", "drawable", context.getPackageName())
  .....
 int idImageN = getResources().getIdentifier("imageN", "drawable", context.getPackageName())
票数 3
EN

Stack Overflow用户

发布于 2012-03-16 01:02:47

您正在谈论的是Reflection。它可能会变得有点混乱,所以对于您描述的情况,最好将图像放在数组或列表中,并使用参数作为索引来检索它们。

票数 0
EN

Stack Overflow用户

发布于 2012-03-16 01:02:49

使用数组!当然,您可以使用所需的任何数据结构,您可能会发现列表(特别是ArrayList)允许您使用更多的Collections API。或者,如果您想通过名称来引用您的图像,您可以使用Map。

代码语言:javascript
复制
Image[] myImages = new Image[n];
//populate images e.g. myImages[0] = new Image();

void updateImage(int imageNo) {
    Image i = myImages[imageNp]; //arrays start at 0 not 1
    //do stuff to i
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9724472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档