0
私はプログラミングの初心者です。だから、おそらくこの質問は面白いと思うかもしれません。 MainActivity内に新しいCanvasViewを作成する際に問題があります。なぜなら、その中に何かが書かれているからです。ここ は私MainActivityです:新しいCanvasViewの作成
public class MainActivity extends AppCompatActivity {
CanvasView myView;
@Override
protected void onCreate(Bundle savedInstanceState) {
//the line below doesnt work
myView = new CanvasView();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void button1(View v){
CanvasView.l = 400;
myView.invalidate();
}
}
、ここでは私のCanvasViewです:
public class CanvasView extends View{
Paint paint = new Paint();
static int l = 500;
public CanvasView (Context context, AttributeSet attrs) {
super(context);
paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.GREEN);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeJoin(Paint.Join.ROUND);
paint.setStrokeWidth(10);
}
@Override
public void onDraw(final Canvas canvas) {
canvas.drawLine(100,100,l,100,paint);
}
}
以下のようにsuper.onCreateとsetContentView後youtはキャンバスを作成します。あなたの最初の行を意味します: "super.onCreateメソッド。" – nok4