大家好,我有一个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));
}
});
}
}
发布于 2012-12-16 19:26:27
您必须在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时获取这些值。
https://stackoverflow.com/questions/13904711
复制