繁体   English   中英

无法解析'setOnClickListener'方法上的符号

[英]Cannot resolve symbol on ' setOnClickListener' method

我的简单加法应用程序未解决setOnClickListner错误

这是我的代码,请帮助解决我的问题谢谢!

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


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

    }

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

    double num1,num2,sum;

   final Button mButton = (Button) findViewById(R.id.btnAdd);
    mButton.setOnClickListener(new View.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));
        }
    });

}

您正在任何方法之外调用或设置setOnClickListner 将您的代码放入方法或onCreate()方法中。

试试下面的代码,它将解决您的问题

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 = (EditText) findViewById(R.id.txtNumber1);
    secondNumber = (EditText) findViewById(R.id.txtNumber2);
    addResult = (TextView) findViewById(R.id.txtResult);
    btnAdd = (Button) findViewById(R.id.btnAdd);

    final Button mButton = (Button) findViewById(R.id.btnAdd);
    mButton.setOnClickListener(new View.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));
        }
    });
}

根据您的代码,您在重写方法之外编写了按钮侦听器代码。 因此,在下面给出的方法中编写代码:

public class MainActivity extends AppCompatActivity {

TextView textViewSum;
EditText editFirst, editSecond;
Button buttonSum;
double num1,num2,sum;

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

    editFirst = (EditText) findViewById(R.id.edtFirst);
    editSecond = (EditText) findViewById(R.id.edtSecond);
    textViewSum = (TextView) findViewById(R.id.textViewSum);
    buttonSum = (Button) findViewById(R.id.buttonSum);

    buttonSum.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            num1 = Double.parseDouble(editFirst.getText().toString());
            num2 = Double.parseDouble(editSecond.getText().toString());
            sum = num1 + num2;
            textViewSum.setText(Double.toString(sum));
        }
    });

   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM