0

大家好,我有一个 android 应用程序,它是只执行一个操作(加法)的计算器,结果总是 3.0,不管这两个数字是什么解决方案?这是代码

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class claculator extends Activity {
    /** Called when the activity is first created. */

    EditText nu1,nu2;
    Button add;
    TextView txtv;
    double x,y,z;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        nu1=(EditText)findViewById(R.id.n1);
        nu2=(EditText)findViewById(R.id.n2);
        add=(Button)findViewById(R.id.btn);
        txtv=(TextView)findViewById(R.id.tv);

         x= Double.parseDouble(nu1.getText().toString());
       y= Double.parseDouble(nu2.getText().toString());

       add.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            z=x+y;
            txtv.setText(String.valueOf(z));
        }
    });

    }
} 
4

1 回答 1

0

您必须在内部获取 EditText 值onClick()

add.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        x= Double.parseDouble(nu1.getText().toString());
        y= Double.parseDouble(nu2.getText().toString());

        z=x+y;
        txtv.setText(String.valueOf(z));
    }
});

当您尝试在onCreate()用户还没有机会更改它们时获取这些值时,您将获得它们的默认值。当用户单击按钮时,您必须获取这些值。

于 2012-12-16T19:26:27.140 回答