在java

时间:2015-07-03 08:42:20

标签: java

我知道在java中调用方法是什么,在问题之前,我非常了解Java语法。我知道java中的 this 是什么,但我不知道,如何在 MainActivity中调用以下代码。的java

public void onDraw(Canvas canvas) {
    paint.setColor(Color.BLUE);
    canvas.drawCircle(120,120,40,paint);
}

现在。我把完整的代码:

MainActivity.java

public class MainActivity extends Activity {
    Draw draw;
    Cal cal;
    TextView textView;
    RelativeLayout linearLayout;

    public void onCreate(Bundle s) {
        super.onCreate(s);
        setContentView(R.layout.activity_main);

        linearLayout = (RelativeLayout) findViewById(R.id.t);
        cal = new Cal(this);
        cal.cal();

        textView = new TextView(getApplicationContext());
        textView.setText("" + cal.result);
        textView.setTextColor(Color.RED);

        draw = new Draw(this);
        linearLayout.addView(textView);
        linearLayout.addView(draw);
    }
}

Cal.java

public class Cal extends View {
    Cal(Context context){
        super(context);
    }
    public double result;
    double parameter = (Math.pow(40,2)) * 3.14;
    public void cal(){
        result = Math.sqrt(parameter);

    }
}

Draw.java

public class Draw extends View {
Paint paint = new Paint();
    Draw(Context context) {
        super(context);
    }
    public void onDraw(Canvas canvas) {
        paint.setColor(Color.BLUE);
        canvas.drawCircle(120,120,40,paint);
    }
}

public void cal(){ result = Math.sqrt(parameter);}由MainActivity中的cal.cal(); 调用但我不知道,如何调用

public void onDraw(Canvas canvas) {
    paint.setColor(Color.BLUE);
    canvas.drawCircle(120,120,40,paint);
}
MainActivity.java 中的

? 在 MainActivity.java 中,我们只有draw = new Draw(this);来调用 Draw.java

中的Draw(Context context) {super(context);}

1 个答案:

答案 0 :(得分:0)

你的Draw类扩展了android类View。

您正在onCreateMethod()中添加一个视图布局:

linearLayout.addView(draw);

Android将在渲染视图时调用绘图对象中的onDraw()方法。