質問: new Paint(); } protected void onDraw( Canvas canvas) { int l,s; //部屋の枠組み paint.setColor(Color.argb(255, 0, 0, 0)); paint.setStrokeWidth(10); paint.setStyle(Paint.Style.STROKE); // (x1,y1,x2,y2,paint) 左上の座標(x1,y1), 右下の座標(x2,y2) canvas.drawRect(48, 48, 48 + s, 48 + l, paint); } } ``` activity_main3.xml ------------------- ``` ・ ・ ・ 以下省略 ・ ・ ・ ```
回答: > > インスタンス化 > > 結果:値が0なってしまう > > > これは、描画関数 OnDraw でローカル変数 l,s を定義しているからだと思います。 Javaではローカル変数の値が優先されたはずです。引数で l,s を指定するか、コンストラクタで渡すなど、 代わりの案を指定する必要があるかと。 後、長方形を描画するクラスでクラス定義が二重になっているのはコピーペーストミスか何かですよね?