0

MainActivity でビューを作成しようとすると、エラーが発生します。以下に、カスタム GridView とアクティビティからのコードの一部を示します。何らかの理由で、MainActivity の OnCreate の GridView にパラメーターを渡そうとすると、Eclipse で次のエラーが発生します。

コンストラクター GridView(this, Cell[][]) は未定義です

しかし、私の GridView クラスでは、このようなコンストラクターを明確に提供しています。何が問題なのかわからない。誰かがそれを提案したが運が悪かったので、追加のコンストラクターを宣言しています。コンテキストが正しいと宣言していますか、それとも XML 側で何かする必要がありますか? 誰かが私が間違っていることを教えてもらえますか? ありがとう

カスタム GridView レイアウト:

public class GridView extends View {

    Context context;
    private Cell[][] grid; //Cell class - is an interface

    //constructors
    public GridView (Context context){
        super(context);
    }

    public GridView (Context context, AttributeSet attrs, int defStyle){
        super(context, attrs);
    }

    public GridView (Context context, AttributeSet attrs){
        super(context, attrs);
    }


    public GridView(Context context, Cell[][] grid) {
        super(context);
        this.context = context;
        this.grid = grid;
        //...more stuff
    }
    //...more stuff
}

主な活動:

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Display display = getWindowManager().getDefaultDisplay();
    Point size = new Point();
    display.getSize(size);
    int width = size.x;
    int height = size.y;

    Cell[][] grid = new Cell[height][width];
    final GridView view = new GridView(this, grid);

    //...more stuff

}
//...more stuff 

}

4

1 に答える 1