2015-06-12 31 views
0

下面的代码是我从文章拼凑在这里,但我真的难倒下一步尝试Android的位图解码和阵列

ArrayList<Bitmap> bitmapArray = new ArrayList<Bitmap>(); 
     for (int i = 1; i < 4; i++){ 
      bitmapArray.add(BitmapFactory.decodeFile("/storage/emulated/0/Pictures/" + Global.svar7)); 
      canvas.drawBitmap(bitmapArray[i], 0, 0, null); 
} 

基本上我想提请3位图到下面的画布上一个循环

内的其他这是我用的Canvas.drawBitmap一行说bitmapArray[i]有错误

类型日只是一个错误得到了最近的Ë表达式必须是一个数组类型,但它解析为ArrayList的

我这里有上搜索这个错误,只能找到例子包括字符串和设置控制

任何想法?你能指点我正确的方向吗?

你的帮助是极大的赞赏

马克

回答

1

要访问一个ArrayList项目,使用ArrayList.get()

canvas.drawBitmap(bitmapArray.get(i-1), 0, 0, null); 

你需要,因为你已经开始从指数减去1的从1开始循环不为0.

+0

更换for (int i = 1; i < 4; i++){太感谢你了改变canvas.drawBitmap(bitmapArray.get(I-1 ),null,new Rect(a,basenum2,a + 200,basenum3),null);它的工作方式 –

1

您尝试使用ArrayList作为数组。将bitmapArray[i]替换为bitmapArray.get(i)

你也应该考虑到阵列和目录索引从0开始,而不是从1,所以你需要还与for (int i = 0; i < 3; i++){

+0

感谢您的协助 –