2012-12-16 86 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()讓這些值在用戶沒有機會改變它們的是,你會得到他們的默認值。您必須在用戶單擊按鈕時獲取這些值。