在片段中设置图像变量

时间:2018-08-03 13:43:21

标签: android

对不起,我仍然是编码方面的初学者,但是如何使此代码起作用?演员的艺术是我从数组中获得的变量。 这是我在可绘制图像中拥有的图像的名称。这行代码适用于任何活动类型,但不适用于片段。如何从数组中的变量设置图像?

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是一个整数的操作。

2 个答案:

答案 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);