在ImageView上设置其名称后获取其名称

时间:2019-04-01 04:22:24

标签: android image random drawable

我实际上是从Drawable文件夹动态地将图像设置为ImageView的。我获得了可以动态设置图像的工作代码,但目前无法在图像视图上设置图像/可绘制对象的名称。  我应该获取可绘制名称或任何代码,以获取每个可绘制实例的名称,该名称可以在ImageView上设置。 非常感谢!

我在StackOverflow上搜索并尝试了所有答案。

将图像动态设置为图像视图,并获取该图像的名称。

2 个答案:

答案 0 :(得分:0)

作为一种好的做法,您可以将drawable存储在变量中并更新imageview。

@DrawableRes int myDrawable;
iv.setImageDrawable(getResources().getDrawable(myDrawable));

设置标签和从标签中获取标签并不是理想的方法,因为它更易于维护和调试。

答案 1 :(得分:0)

好的。经过2天的研究和试验,我终于按计划完成了工作。这是我的代码,如果有人得到帮助。

ArrayList<Integer> array_fruits = new ArrayList<Integer>();
    int fruit_apricot = R.drawable.fruits_apricot;
    int fruit_apple = R.drawable.fruits_apple;
    int fruit_banana = R.drawable.fruits_banana;

....还有更多

array_fruits.add(fruit_apple);
        array_fruits.add(fruit_apricot);
        array_fruits.add(fruit_banana);

...还有更多

//工作码生成30和1之间的数字(数组列表中为0到29)

Random rand = new Random();
                    int num = rand.nextInt(30) + 1;
                    array_fruits.add(num);
                    itemImg.setImageDrawable(getResources().getDrawable(array_fruits.get(num)));
                    Log.e("num: ", num+"");
                    Toast.makeText(getApplicationContext(), num+"", Toast.LENGTH_LONG).show();

我已经尝试了stackoverflow和其他站点上给出的几乎所有解决方案。