从抽屉中动态加载图像会导致应用崩溃

时间:2016-12-25 07:16:13

标签: android

我对android很新。我必须动态地将图像加载到回收器视图行。我使用以下代码和应用程​​序由于null对象而崩溃。

<!DOCTYPE html>
<html>
  <head>
    <title>Hello</title>
    <script src="TryClass.js" type="text/javascript">
      prop = new SetProp(1000,1000);
    </script>
  </head>
  <body>
    <h1>Hello</h1>
    <canvas id="canvas" width="prop.getWidth() " height="prop.getHeight();" style="border:1px solid #000000"></canvas>
  </body>
</html>

3 个答案:

答案 0 :(得分:1)

崩溃可能是因为上下文是null

试试这段代码,

int imageResource = this.context.getResources().getIdentifier("menu_howtouse", "drawable", this.PACKAGE_NAME);

确保您已按如下方式初始化holder.iconImageView

holder.iconImageView = (ImageView) convertView.findViewById(R.id.iconImageView);

答案 1 :(得分:1)

第二个参数可以为null,但您不需要设置它。

你应该可以使用这个

context.getResources().getIdentifier("menu_howtouse", "drawable", this.PACKAGE_NAME);

如果有任何东西抛出nullpointer,它可能是context,因为那些其他方法不会抛出任何异常

答案 2 :(得分:0)

是否可以将相同的图像添加到每行中:

holder.iconImageView.setImageResource(R.drawable.menu_howtouse);

              OR

如果要添加多个图像可绘制,则列出所有Drawables

List<int> imageList = new ArrayList<int>();
imageList.add(R.drawable.iamge1);
imageList.add(R.drawable.iamge2);
imageList.add(R.drawable.iamge3);

将此传递给适配器类

Adapter adp = new Adapter(context, imageList);

然后在 onBindViewHolder 中执行此操作

holder.iconImageView.setImageResource(imageList.get(position));

          -- OR --

你可以尝试毕加索或滑行,它们很容易整合