android中java代码的语法错误
我对编码非常陌生,开始学习android。 我在java代码(my activity.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
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声明更改为