Android 一经检查就无法工作

Android 一经检查就无法工作,android,oncheckedchanged,Android,Oncheckedchanged,我有以下问题: if(Cuadrado.isChecked()==true) 这是完整的代码: @Override public void onCheckedChanged(RadioGroup group, int checkedId) { String dato5 = DatoMath.getText().toString(); if (Cubo.isChecked()==true) { if (dato5.equals("")) {

我有以下问题:

if(Cuadrado.isChecked()==true)

这是完整的代码:

@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {

    String dato5 = DatoMath.getText().toString();

    if (Cubo.isChecked()==true) {

        if (dato5.equals("")) {
            Toast toast = Toast.makeText(getApplicationContext(), "no hay datos", Toast.LENGTH_LONG);
            toast.setGravity(Gravity.CENTER | Gravity.LEFT, 0, 0);
            toast.show();
        } else {
            int datofinal = Integer.parseInt(dato5);
            int final3 = (int) Math.pow(datofinal, 2);

            Resultado.setText("" + final3);};

    if (Cuadrado.isChecked() == true) {

        if (dato5.equals("")) {
                    Toast toast = Toast.makeText(getApplicationContext(), "no hay datossssss", Toast.LENGTH_SHORT);
                    toast.setGravity(Gravity.CENTER_VERTICAL | Gravity.RIGHT, 0, 0);
                    toast.show();

        } else {
                    int datofinal2 = Integer.parseInt(dato5);
                    int final4 = (int) Math.pow(datofinal2, 3);

                    Resultado.setText("" + final4);

        };

为什么要故意使代码复杂化,只需编写:

if (Cubo.isChecked())
{
//do whatever you want to do
}
isChecked方法返回一个布尔值,因此可以直接将其写入if条件中


还有一件事,你为什么要在else语句后面加一个分号[;]右大括号[}],用另一个右大括号[}]替换这个分号?

谢谢你的帮助非常有效,这是“运行完美cubo,但部分cuadrado不起作用”的一部分按下cuadrado不起作用不明白为什么,如果你开发出相应的逻辑,就按cubo键。我刚才看到一件事,为什么你在else语句后面加一个分号(;)来结束大括号(}),用另一个结束大括号(})来替换那个分号呢?任何时候都德,我也应该把它添加到我的答案中,这样任何查看答案的人都会得到完整的答案:)
 @Override 
 public void onCheckedChanged(RadioGroup group, int checkedId){
switch(checkedId){
 case R.id.rbtn1:
 // radio button 1 checked related code
 break;
 case R.id.rbtn2:
 // radio button 2 checked related code
 break;
 }

}