Java 在android应用程序上显示图像的另一种方式
我把我的Java 在android应用程序上显示图像的另一种方式,java,android,imageview,Java,Android,Imageview,我把我的ImageView放在一个.xml文件中,在我的主java文件中我正在使用代码 static int[]images={R.drawable.green_0,R.drawable.blue_1, R.drawable.purple_2,R.drawable.pink_3,R.drawable.red_4, R.drawable.yellow_5,R.drawable.white_6,R.drawable.teal_7, R.drawable.babyblue_8,R.drawable.l
ImageView
放在一个.xml
文件中,在我的主java文件中我正在使用代码
static int[]images={R.drawable.green_0,R.drawable.blue_1,
R.drawable.purple_2,R.drawable.pink_3,R.drawable.red_4,
R.drawable.yellow_5,R.drawable.white_6,R.drawable.teal_7,
R.drawable.babyblue_8,R.drawable.lightgreen_9,
R.drawable.Pigenta_10,R.drawable.grey_12,R.drawable.black_11}代码>
显示图像。然而,在代码的后面,我尝试使用这行代码
holder.image.setImageBitmap(images[position].getImage())代码>
这就产生了错误
“无法对基元类型int调用getImage()”
除此之外,我如何在我的应用程序中显示图像以使用该代码行而不出错(不将图像声明为布尔类型int)。您的问题是您正在使用整数值。
您需要在Drawable或位图中转换此int,如下所示:
holder.image.setImageResource(images[position])
或
或
setImageBitmap()
接受位图对象,而不是int。您提供的int只是R.java生成的资源文件中的id
使用:
尝试从images[position]中删除getImage方法调用,应该是这样的:您可以使用holder.image.setImageResource(images[position])代码>@Daniel-那不行。如果要将setImageResource设置为资源Id,则必须使用setImageResource.holder.image.setImageResource(images[position])对于您的第二个语句更有意义。该语句消除了错误,现在我得到一个致命的异常:main。一个问题过去了,另一个问题来取代它。我是新来的。我如何从eclipse发布日志?打开logcat()并将问题(红色消息)复制粘贴到一个新问题中。10-15 15:59:59.080:E/AndroidRuntime(3241):致命异常:main 10-15 15:59:59.080:E/AndroidRuntime(3241):java.lang.NullPointerException 10-15:59:59.080:E/AndroidRuntime(3241):在com.practice.imagegrid.tabs.ImageAdapter.getView(ImageAdapter.java:67)@InsertName,我不知道你为什么发布这些评论…我的答案不涉及setImageResource。
holder.image.setImageDrawable( getResources().getDrawable( images[position] ));
holder.image.setImageBitmap(BitmapFactory.decodeResource(getResources(), images[position]));
holder.image.setImageBitmap(BitmapFactory.decodeResource(this.getResources(), images[position]));