gpt4 book ai didi

java - 为什么我的 editText 在 android 中没有显示正确的输出?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:10:19 26 4
gpt4 key购买 nike

我是 Android 编程的初学者,我正在尝试编写一个带有 3 个 editText 字段的简单计算器。其中 2 个用作输入,第 3 个用作输出结果。当我点击“+”按钮时,我希望它输出 2 个数字的总和。但我得到一个奇怪的数字,例如 2+3 = 2.131230724E9我尝试通过网络解决,但找不到具体问题....谢谢...

final double tf1 = Double.parseDouble(String.valueOf(R.id.editText1));
final double tf2 = Double.parseDouble(String.valueOf(R.id.editText2));


Button btplus = (Button)findViewById(R.id.button1);


btplus.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
double tf3;
tf3 = tf1 + tf2;
EditText result = (EditText)findViewById(R.id.editText3);
result.setText(String.valueOf(tf3));
}
});

最佳答案

R.id.editText1 指的是 R.java 中的 int 值。

您需要在onCreate 中先初始化EditText。如果您不希望最终修饰符将 EditText 声明为类成员

   final EditText ed1 = (EditText) findViewById(R.id.editText1);
final EditText ed2 = (EditText) findViewById(R.id.editText1);
final EditText result = (EditText)findViewById(R.id.editText3);

然后

    Button btplus = (Button)findViewById(R.id.button1);  
btplus.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)
{
double tf3;
double tf1 =Double.parseDouble(ed1.getText().toString());
double tf2 =Double.parseDouble(ed2.getText().toString());
tf3 = tf1 + tf2;
result.setText(String.valueOf(tf3));
}
});

关于java - 为什么我的 editText 在 android 中没有显示正确的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17947213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com