我对编程非常陌生,开始学习android。我在java代码(我的activity.java)中遇到了一些小的语法错误,.please在这方面对我有帮助。程序是将这两个数字相加并显示结果
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));
}
});
发布于 2018-07-10 01:45:58
就像@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
}
});
}
或者您可以像这样在onCreate
中调用您的方法:
@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));
}
});
}
发布于 2018-07-10 01:25:20
这样做:-将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));
}
});
}
}
发布于 2018-07-10 02:03:15
首先,您必须将视图声明更改为
secondNumber = (EditText) findViewById(R.id.action_save);
addResult = (TextView) findViewById(R.id.action_save);
btnAdd = (Button) findViewById(R.id.action_save);
然后将double变量更改为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));
}
});
}
}
https://stackoverflow.com/questions/51250617
复制相似问题