Android 如何从数组中获取参数方法
我有调整图像大小的方法,我想从数组中获取参数,但它一直显示错误Android 如何从数组中获取参数方法,android,Android,我有调整图像大小的方法,我想从数组中获取参数,但它一直显示错误 incompatible types found int required android.graphics.drawable.Drawable 这是我的方法 public Drawable ResizeImage (int imgResize){ Display imgPost = getWindowManager().getDefaultDisplay(); double dvcWidth
incompatible types
found int
required android.graphics.drawable.Drawable
这是我的方法
public Drawable ResizeImage (int imgResize){
Display imgPost = getWindowManager().getDefaultDisplay();
double dvcWidth = imgPost.getWidth();
BitmapDrawable imgBD = (BitmapDrawable)this.getResources().getDrawable(imgResize);
double imgHeight = imgBD.getBitmap().getHeight();
double imgWidth = imgBD.getBitmap().getWidth();
double imgRatio = dvcWidth/imgWidth;
int newImgHeight = (int) (imgHeight*imgRatio);
Bitmap imgBmap = BitmapFactory.decodeResource(getResources(),imgResize);
Drawable imgDrawable = new BitmapDrawable(this.getResources(),getResizedBitmap(imgBmap,newImgHeight,(int) dvcWidth));
return imgDrawable;
}
我的阵列
int[] imgDvc= new int[]{
ResizeImage(R.drawable.pc),
R.drawable.ps4,
R.drawable.xbone
}
我在这里调用我的数组
List<HashMap<String,String>> aList = new ArrayList<HashMap<String,String>>();
for(int i=0;i<10;i++){
HashMap<String, String> hm = new HashMap<String,String>();
hm.put("Dvc", Integer.toString(imgDvc[i]) );
aList.add(hm);
}
String[] game= {"Dvc"};
List aList=new ArrayList();
对于(int i=0;i如果要放置3个图像,请使用3个图像视图并缩放一个以调整大小如果要放置3个图像,请使用3个图像视图并缩放一个以调整大小代码中的哪一行是错误引用的?@MehmetKologlu此调整大小的图像(R.drawable.pc)行。哦,我现在看到了。你已经声明了一个int数组,但你试图在其中放入一个可绘制的。你不能这样做。@MehmetKologlu实际上,我尝试了一些类型数据,但它一直显示错误,我的可绘制方法应该使用什么类型的数据。问题不是你的方法,而是你的设计。你不能放入可绘制的 在int
数组中。另一方面,你不能让你的方法返回int
(资源ID)。你应该想出另一种方法。我不知道你使用该数组的目的是什么,所以我真的帮不上忙。代码中的错误是指哪一行?@MehmetKologlu this ResizeImage(R.drawable.pc)行。哦,我现在看到了。你已经声明了一个int数组,但你试图在其中放入一个可绘制的。你不能这样做。@MehmetKologlu实际上,我尝试了一些类型数据,但它一直显示错误,我的可绘制方法应该使用什么类型的数据。问题不是你的方法,而是你的设计。你不能放入可绘制的 在int
数组中。另一方面,您不能使方法返回int
(资源ID)。你应该想出另一种方法。我不知道你用这个数组做什么,所以我真的帮不上忙。我不能从imageview中这样做,图像大约有800x600,这会减慢设备的速度。我想通过java调整它的大小。将位图加载到内存中不是一种快速的方法。(这正是decodeBitmap所做的)我很有信心,只要使用imageView的XML属性scaleX和scaleY就可以很快了,所以800x600甚至不是一个大图像。如果你担心图像加载效率,你也可以使用Fresco这样的库。我不能从imageView这样做,图像大约有800x600,这会减慢设备的速度。我想通过h java。将位图加载到内存中不是一种快速的方法。(这正是decodeBitmap所做的)。我非常确信,仅使用imageView的XML属性scaleX和scaleY将非常快。因此,800x600甚至不是一个大图像。如果您关心图像加载效率,也可以使用Fresco之类的库