【问题标题】:Get resource id Imageview (array of ImageViews)获取资源 id Imageview(ImageViews 数组)
【发布时间】:2016-11-30 05:02:22
【问题描述】:

如何在 android 中检索 imageViews 数组的 resource_id?我知道如何为可绘制资源获取 i

int resId = context.getResources().getIdentifier("[imagename]" + indexNumber, "drawable", context.getPackageName());

但现在我想检索位于布局文件夹 (activity_main.xml) 中的 imageView 的 id

原因是我有 10 个不同的图像视图,名称相似,但 indexnumer 除外。

我的完整代码

    ImageView[] imageView = new ImageView[10];
    AnimationDrawable[] frameAnimation = new AnimationDrawable[10];
    for (int i = 0; i < 10; i++) {

        int id = ???
        imageView[i] = (ImageView) findViewById(id);
        imageView[i].setBackgroundResource(R.drawable.gold_coin_animation);

        // Get the background, which has been compiled to an AnimationDrawable object.
        frameAnimation[i] = (AnimationDrawable) imageView[i].getBackground();

        frameAnimation[i].start();
    }

图像的名称是

gold_coin_id1
gold_coin_id2
gold_coin_id3
...
gold_coin_id110

所以我想通过前缀 (gold_coin) 与 indexnumber 连接来检索视图的资源 ID

【问题讨论】:

  • 你可以像 imageViewArray[i].setId(i); 一样将 id 设置为 imageview
  • ImageView[] imageViewArray = new ImageView[10]; for (int i = 0; i
  • 你可以创建 int[] resArray = new int[]{ R.drawable.gold_coin_id1, R.drawable.gold_coin_id2, R.drawable.gold_coin_id3, R.drawable.gold_coin_id4} 并使用这个 resArray设置背景

标签: android android-imageview android-xml


【解决方案1】:

这应该可行

int id = getResources().getIdentifier("gold_coin_id"+i, "id", getPackageName());
imageView[i] = (ImageView) findViewById(id);

【讨论】:

  • 愚蠢的我 - 我应该在未来学习更多地研究签名。谢谢:-)
猜你喜欢
  • 2014-04-25
  • 2021-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多