我实际上是从Drawable文件夹动态地将图像设置为ImageView的。我获得了可以动态设置图像的工作代码,但目前无法在图像视图上设置图像/可绘制对象的名称。 我应该获取可绘制名称或任何代码,以获取每个可绘制实例的名称,该名称可以在ImageView上设置。 非常感谢!
我在StackOverflow上搜索并尝试了所有答案。
将图像动态设置为图像视图,并获取该图像的名称。
答案 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和其他站点上给出的几乎所有解决方案。