android计算器应用程序错误

时间:2012-12-16 19:24:46

标签: android

嗨所有我有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));
        }
    });

    }
} 

1 个答案:

答案 0 :(得分:0)

您必须在onClick()

中获取EditText值
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()中获取这些值时,用户还没有机会更改它们,您将获得默认值。当用户单击Button时,您必须获取这些值。