2012-12-16 87 views
0

嗨,所有我有Android应用程序,这是计算器只执行一个操作(另外)结果总是3.0无论这两个数字是 什么是解决方案? 这里是代码android计算器应用程序错误

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)); 
     } 
    }); 

    } 
} 

回答

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()让这些值在用户没有机会改变它们的是,你会得到他们的默认值。您必须在用户单击按钮时获取这些值。