分配数组中的属性

时间:2011-03-05 07:36:59

标签: java android multidimensional-array

我已经定义了一个类,并在同一个类下声明了一个对象数组,但是出现了编译错误。我想知道是否有一些我在这里俯瞰的小东西。

import android.widget.ImageView;


public class Tile {
    public int ID;
    public ImageView image;
}

当我在这里定义这个课时,出现了问题。

Tile tile_array[][] = new Tile[3][3];


tile_array[1][1].image = new_image;
tile_array[1][1].ID = tile_counter;

3 个答案:

答案 0 :(得分:4)

我可以看到,你正在做两件事。

  1. 您应该分配[1] [1]个对象。 即 - tile_array[1][1] = new Tile().
  2. 您的图像对象(ImageView类)仍未分配。

答案 1 :(得分:1)

我猜你试图创建一个固定大小为3乘3的二维数组。 一些评论:

  1. 这是固定大小,这意味着一旦初始化了对象tile_array就无法更改大小(如果这是您想要的,没有问题)
  2. 如何在方法范围内完成此操作的示例:

    Tile[][] tileArray = new Tile[3][3];  
    tileArray[1][0].ID = 1;
    tileArray[1][0].image = new ImageView(this);
    
    tileArray[1][1].ID = 2;
    tileArray[1][1].image = new ImageView(this);
    
    tileArray[1][2].ID = 3;
    tileArray[1][2].image = new ImageView(this);
    
  3. 我建议使用Arraylist,因为这比编写这么多代码更有优势。在尺寸上也很灵活。

答案 2 :(得分:0)

public class Arrow{
        public int ID;
        public static void main(String [] args){
                Arrow arrow[][] = new Arrow[3][3];
        }
}

为我编译好。