キャンバスを使用してビットマップを描画しました。ここではすべて問題なく、ビューを拡張するクラスを使用し、コンストラクター super(context, attributesset); を使用しました。今、別のクラスのメソッドを使用したいのですが、これを機能させる方法は、クラスを拡張するビューがこれら2つのコンストラクターを必要とすることを知っている限り、Androidで動作するように設定する必要があります(変更しようとしたところ、ビューを拡張するため、このようなコンストラクターが必要です)。
これは私のコードです:
public class GameBoard extends View{
private static final String tag = "GameBoard";
private Paint p;
private Load load;
public GameBoard(Context context, Load load) {
super(context);
p = new Paint();
this.load = load;
//このクラスには他にもたくさんありますが、ここでは関係ありません。
}
そして、これは他のクラスです:
public class Load{
Context context;
// TODO ファイルからこれらの情報をロードし、テクスチャを電話の画面サイズに合わせます int mSize = 99; int tSize = 48; int screenCoords = 160; int rectX = 10; int rectY = 16;
String coordsFileName ="coordsData.txt";
public Load (Context context) {
this.context = context;
}
編集:
同じ問題を抱えているすべての人のための解決策を見つけました。たとえば、拡張クラスでオブジェクトを作成するだけです。
private OtherClass otherclass;
//そしてそのコンストラクターで、新しいオブジェクトを作成するだけです
this.otherclass = new OtherClass();