猿问

告诉我安卓工作室的简单语法错误的解决方案

公共空白点击 (查看 v) {


这个领域有一个简单的语法错误,我不知道如何解决它。


我不知道对不起


public class MainActivity extends AppCompatActivity {


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);


    MyView view = new MyView();


    public void onClick (View v) {

        switch (view.getId()) {

            case R.id.btn :

                view.isDraw = true;

                break;

        }

    }

}

我的视图类


public class MyView extends View {


public boolean isDraw = false;


public MyView() {

    super(context);

}


public MyView(Context context, AttributeSet attrs) {

    super(context, attrs);

}


public MyView(Context context, AttributeSet attrs, int defStyleAttr) {

    super(context, attrs, defStyleAttr);

}


Random random = new Random();

int x = random.nextInt(500);

int y = random.nextInt(800);


int r = (random.nextInt(3)+1) * 100;


@Override

protected void onDraw(Canvas canvas) {

    isDraw = false;

    super.onDraw(canvas);

    canvas.drawColor(Color.LTGRAY);

    Paint Pnt = new Paint();

    Pnt.setColor(Color.BLUE);

    if(isDraw == true) {

        canvas.drawCircle(x,y,r,Pnt);

    }

}

}

当我按下按钮时,我想在随机值的坐标上画一个圆圈。


沧海一幻觉
浏览 99回答 2
2回答

肥皂起泡泡

当我按下按钮时,我想在随机值的坐标上画一个圆圈。如果你想这样做,首先,你需要使用一个例子找到你的按钮,因为:findViewByIdprivate Button myButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    myButton = findViewById(R.id.IdfromActivity_main);}然后,如果您想制作一个,有多种方法可以做到这一点。onClickListener在您的代码中,示例可以是:private Button myButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    myButton = findViewById(R.id.IdfromActivity_main);    MyView view = new MyView();    myButton.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            Toast.makeText(v.getContext(), "Button clicked!",  Toast.LENGTH_LONG).show();            //Add whatever action you need        }    });}然后你还有一个错误,你在另一个方法中有一个方法,假设你有一个方法,所以你应该拆分它们并将其放在这个方法之外。onCreateonClickonCreate

富国沪深

您的 .试着把它放在外面。onCreate@Override    protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    MyView view = new MyView();}public void onClick (View v) {        switch (view.getId()) {            case R.id.btn :                view.isDraw = true;                break;        }    }
随时随地看视频慕课网APP

相关分类

Java
我要回答