从可绘制文件夹动态设置 ImageView
Setting an ImageView from the drawable folder dynamicly
你好开发者,
我写了一个class 叫做Item。现在我希望这个 "Item" 从 drawable 文件夹中的构造函数中获取图像。我已经尝试以某种方式从 drawable 文件夹中的图像中获取 resourceId,但不知道如何,因为现在有 imageView.getResourceId()
这样的功能,这无论如何都不是最好的解决方案,因为我需要临时添加所有图像从 drawable 到 imageView,然后获取 Id。有什么办法可以解决这个问题吗?
感谢您的帮助
试试这个,
int id = getResources().getIdentifier("yourpackagename:drawable/" + StringGenerated, null, null);
这将 return 您要访问的可绘制对象的 ID...然后您可以通过执行以下操作在图像视图中设置图像
imageview.setImageResource(id);
解法:
只需使用 java 中的这段代码即可将可绘制图像动态设置为 ImageView:
your_image_view_object.setImageDrawable(ContextCompat.getDrawable(Your_Activity.this, R.drawable.your_drawable_image));
例如:
imageView.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, R.drawable.ic_profilepic));
就是这样。希望对你有帮助。
你好开发者,
我写了一个class 叫做Item。现在我希望这个 "Item" 从 drawable 文件夹中的构造函数中获取图像。我已经尝试以某种方式从 drawable 文件夹中的图像中获取 resourceId,但不知道如何,因为现在有 imageView.getResourceId()
这样的功能,这无论如何都不是最好的解决方案,因为我需要临时添加所有图像从 drawable 到 imageView,然后获取 Id。有什么办法可以解决这个问题吗?
感谢您的帮助
试试这个,
int id = getResources().getIdentifier("yourpackagename:drawable/" + StringGenerated, null, null);
这将 return 您要访问的可绘制对象的 ID...然后您可以通过执行以下操作在图像视图中设置图像
imageview.setImageResource(id);
解法:
只需使用 java 中的这段代码即可将可绘制图像动态设置为 ImageView:
your_image_view_object.setImageDrawable(ContextCompat.getDrawable(Your_Activity.this, R.drawable.your_drawable_image));
例如:
imageView.setImageDrawable(ContextCompat.getDrawable(MainActivity.this, R.drawable.ic_profilepic));
就是这样。希望对你有帮助。