Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中java代码的语法错误_Java_Android - Fatal编程技术网

android中java代码的语法错误

android中java代码的语法错误,java,android,Java,Android,我对编码非常陌生,开始学习android。 我在java代码(my activity.java)中遇到了一些小的语法错误 .请帮帮我。 程序将两个数字相加并显示结果 package com.example.apple.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.But

我对编码非常陌生,开始学习android。 我在java代码(my activity.java)中遇到了一些小的语法错误 .请帮帮我。 程序将两个数字相加并显示结果

package com.example.apple.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    EditText firstNumber;
    EditText secondNumber;
    TextView addResult;
    Button btnAdd;

    double num1,num2,sum;

    firstNumber = findViewById(R.id.txtNumber1);
    secondNumber = findViewById(R.id.txtNumber2);
    addResult = findViewById(R.id.txtResult);
    btnAdd = findViewById(R.id.btnAdd);

}

 btnAdd.setOnClickListener(new OnClickListener() {

 public void onClick(View v) {
    num1 = Double.parseDouble(firstNumber.getText().toString());
    num2 = Double.parseDouble(secondNumber.getText().toString());
    sum = num1 + num2;
    addResult.setText(Double.toString(sum));
    }
    });
这样做:- 将onClick方法放在onCreate中

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    EditText firstNumber;
    EditText secondNumber;
    TextView addResult;
    Button btnAdd;

    double num1,num2,sum;

    firstNumber = findViewById(R.id.txtNumber1);
    secondNumber = findViewById(R.id.txtNumber2);
    addResult = findViewById(R.id.txtResult);
    btnAdd = findViewById(R.id.btnAdd);

    btnAdd.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            num1 = Double.parseDouble(firstNumber.getText().toString());
            num2 = Double.parseDouble(secondNumber.getText().toString());
            sum = num1 + num2;
            addResult.setText(Double.toString(sum));
        }
    });

    }
}

就像前面提到的@NickL一样,你的点击事件应该在一个方法中。您可以将其直接放入
onCreate
中,如下所示:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button clickButton = (Button) findViewById(R.id.clickButton);
    clickButton.setOnClickListener( new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
        //Do what you want with the click here
        } 
    });

}
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    myCoolButtonMethod();

}

private void myCoolButtonMethod(){

    Button clickButton = (Button) findViewById(R.id.clickButton);
    clickButton.setOnClickListener( new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
        //Do what you want with the click here
        } 
    });

}
public class MainActivity extends AppCompatActivity { 

    EditText firstNumber; 
    EditText secondNumber; 
    TextView addResult; 
    Button btnAdd; 
    double num1,num2,sum;

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);  
        firstNumber = findViewById(R.id.txtNumber1); 
        secondNumber = findViewById(R.id.txtNumber2); 
        addResult = findViewById(R.id.txtResult); 
        btnAdd = findViewById(R.id.btnAdd);

        myCoolButtonMethod();

    }

    private void myCoolButtonMethod(){
    Button clickButton = (Button) findViewById(R.id.clickButton);
    clickButton.setOnClickListener( new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
            num1 = Double.parseDouble(firstNumber.getText().toString()); 
            num2 = Double.parseDouble(secondNumber.getText().toString()); 
            sum = num1 + num2;
            addResult.setText(Double.toString(sum)); 
        } 
    });

} 
或者您可以在
onCreate
中调用您的方法,如下所示:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button clickButton = (Button) findViewById(R.id.clickButton);
    clickButton.setOnClickListener( new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
        //Do what you want with the click here
        } 
    });

}
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    myCoolButtonMethod();

}

private void myCoolButtonMethod(){

    Button clickButton = (Button) findViewById(R.id.clickButton);
    clickButton.setOnClickListener( new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
        //Do what you want with the click here
        } 
    });

}
public class MainActivity extends AppCompatActivity { 

    EditText firstNumber; 
    EditText secondNumber; 
    TextView addResult; 
    Button btnAdd; 
    double num1,num2,sum;

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);  
        firstNumber = findViewById(R.id.txtNumber1); 
        secondNumber = findViewById(R.id.txtNumber2); 
        addResult = findViewById(R.id.txtResult); 
        btnAdd = findViewById(R.id.btnAdd);

        myCoolButtonMethod();

    }

    private void myCoolButtonMethod(){
    Button clickButton = (Button) findViewById(R.id.clickButton);
    clickButton.setOnClickListener( new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
            num1 = Double.parseDouble(firstNumber.getText().toString()); 
            num2 = Double.parseDouble(secondNumber.getText().toString()); 
            sum = num1 + num2;
            addResult.setText(Double.toString(sum)); 
        } 
    });

} 
您还错误地声明了您的方法,在您的情况下,它将如下所示:

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button clickButton = (Button) findViewById(R.id.clickButton);
    clickButton.setOnClickListener( new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
        //Do what you want with the click here
        } 
    });

}
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    myCoolButtonMethod();

}

private void myCoolButtonMethod(){

    Button clickButton = (Button) findViewById(R.id.clickButton);
    clickButton.setOnClickListener( new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
        //Do what you want with the click here
        } 
    });

}
public class MainActivity extends AppCompatActivity { 

    EditText firstNumber; 
    EditText secondNumber; 
    TextView addResult; 
    Button btnAdd; 
    double num1,num2,sum;

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);  
        firstNumber = findViewById(R.id.txtNumber1); 
        secondNumber = findViewById(R.id.txtNumber2); 
        addResult = findViewById(R.id.txtResult); 
        btnAdd = findViewById(R.id.btnAdd);

        myCoolButtonMethod();

    }

    private void myCoolButtonMethod(){
    Button clickButton = (Button) findViewById(R.id.clickButton);
    clickButton.setOnClickListener( new OnClickListener() { 
        @Override 
        public void onClick(View v) { 
            num1 = Double.parseDouble(firstNumber.getText().toString()); 
            num2 = Double.parseDouble(secondNumber.getText().toString()); 
            sum = num1 + num2;
            addResult.setText(Double.toString(sum)); 
        } 
    });

} 

首先,您必须将视图更改为声明

secondNumber = (EditText) findViewById(R.id.action_save);
    addResult = (TextView) findViewById(R.id.action_save);
    btnAdd = (Button) findViewById(R.id.action_save);
然后将双变量更改为final。 你必须把

btnAdd.setOnClickListener(new View.OnClickListener() {
里面

protected void onCreate(Bundle savedInstanceState) {
块方法

这是完整的代码:

package com.example.apple.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.example.android.pets.R;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_catalog);

        EditText firstNumber;
        EditText secondNumber;
        final TextView addResult;
        Button btnAdd;

        final double num1, num2, sum;

        firstNumber = (EditText) findViewById(R.id.action_save);
        secondNumber = (EditText) findViewById(R.id.action_save);
        addResult = (TextView) findViewById(R.id.action_save);
        btnAdd = (Button) findViewById(R.id.action_save);


        num1 = Double.parseDouble(firstNumber.getText().toString());
        num2 = Double.parseDouble(secondNumber.getText().toString());
        sum = num1 + num2;

        btnAdd.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                addResult.setText(Double.toString(sum));
            }
        });
    }
}

您至少必须告诉我们错误是什么。
btnAdd.setOnClickListener…
应该在方法中,可能在
onCreate
中。您的第一个语句不正确-
首先,您必须将views声明更改为