对不起,我仍然是编码方面的初学者,但是如何使此代码起作用?演员的艺术是我从数组中获得的变量。 这是我在可绘制图像中拥有的图像的名称。这行代码适用于任何活动类型,但不适用于片段。如何从数组中的变量设置图像?
int imageId = AppUtil.getImageIdFromDrawable(this, actorart);
ImageView ivCoverArt = view.findViewById(R.id.imgactor);
ivCoverArt.setImageResource(imageId);
此错误是无法使用this
。
这也不起作用:
ImageView imageView= view.findViewById(R.id.imgactor);
imageView.setImageResource(actorart);
这里的错误是actorart
是一个字符串,而setImageResource是一个整数的操作。
答案 0 :(得分:0)
您是正确的,setImageResource()
接受一个整数,更具体地说是资源的ID。
要获取ID,您可以使用以下代码:
int id = getResources().getIdentifier("yourpackagename:drawable/" + actorart, null, null);
答案 1 :(得分:0)
this
不能使用,因为您所引用的实例是一个Fragment,我很确定您需要一个Context
参数。
要解决此问题,请获取有效的上下文:
int imageId = AppUtil.getImageIdFromDrawable(getActivity(), actorart);