gpt4 book ai didi

java - 如果 edittext 留空,则强制 "0"

转载 作者:行者123 更新时间:2023-12-01 10:35:18 25 4
gpt4 key购买 nike

所以我尝试了之前帖子中关于这个问题的一些方法,但似乎没有一个对我有用(毫无疑问是用户错误)。

基本上,如果编辑文本留空,我的计算按钮就会崩溃。我需要发生的是,如果留空,则 edittext 的值为 0。

这是我的java:

public class kCals extends AppCompatActivity {
EditText firstNumber;
EditText secondNumber;
EditText thirdNumber;
TextView addResult;
Button btnAdd;
double num1,num2,num3,sum;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_k_cals);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

{
firstNumber = (EditText)findViewById(R.id.txtNumber1);
secondNumber = (EditText)findViewById(R.id.txtNumber2);
thirdNumber = (EditText) findViewById(R.id.txtNumber3);
addResult = (TextView)findViewById(R.id.txtResult);
btnAdd = (Button)findViewById(R.id.btnAdd);
btnAdd.setOnClickListener(new View.OnClickListener()

{public void onClick(View v) {
num1 = Double.parseDouble(firstNumber.getText().toString());
num2 = Double.parseDouble(secondNumber.getText().toString());
num3 = Double.parseDouble(thirdNumber.getText().toString());
sum = (num1 * 4) + (num2 * 4) + (num3 * 9);
addResult.setText(String.format("%.2f", sum));}
});

}}}

如果有人能帮忙解决这个问题那就太好了。干杯,杰西。

最佳答案

最好有一种方法可以为您执行此操作,如下所示。

public double parseDouble(String doubleText) {
if(TextUtils.isEmpty(doubleText)) {
return 0;
}

try {
return Double.parseDouble(doubleText);
} catch(NumberFormatException e) {
// do something if invalid number maybe also return 0?
return 0;
}
}

然后你的代码就变成了

num1 = parseDouble(firstNumber.getText().toString());
num2 = parseDouble(secondNumber.getText().toString());
num3 = parseDouble(thirdNumber.getText().toString());

您还可以更新方法以传递 EditText 对象本身,以避免所有 getText().toString() 调用(如果您愿意)。

关于java - 如果 edittext 留空,则强制 "0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34780848/

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