【问题标题】:Android Bitmap Decode and ArraysAndroid 位图解码和数组
【发布时间】:2015-06-12 07:32:21
【问题描述】:

以下代码是我从这里的文章中拼凑出来的,但我真的很难过接下来要尝试什么

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

我在这里搜索过这个错误,只能找到包含字符串和设置控件的示例

有什么想法吗?你能指出我正确的方向吗?

非常感谢您的帮助

标记

【问题讨论】:

    标签: android arrays canvas bitmap


    【解决方案1】:

    要访问 ArrayList 中的项目,请使用 ArrayList.get()

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

    您需要从索引中减去 1,因为您的循环是从 1 而不是 0 开始的。

    【讨论】:

    • 非常感谢您对 canvas.drawBitmap(bitmapArray.get(i-1),null, new Rect(a,basenum2,a+200,basenum3), null);它很管用
    【解决方案2】:

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

    您还应该考虑数组和列表索引从 0 开始,而不是从 1 开始,因此您还需要将 for (int i = 1; i &lt; 4; i++){ 替换为 for (int i = 0; i &lt; 3; i++){

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-21
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 2014-09-14
      • 1970-01-01
      • 2012-04-03
      相关资源
      最近更新 更多