2017-02-17 20 views
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); 
    } 
} 

答えて

0

私は本当に何を理解しない

super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myView = new CanvasView();

+0

以下のようにsuper.onCreateとsetContentView後youtはキャンバスを作成します。あなたの最初の行を意味します: "super.onCreateメソッド。" – nok4

関連する問題