gpt4 book ai didi

android - 无效长 :""异常

转载 作者:行者123 更新时间:2023-11-30 03:27:15 24 4
gpt4 key购买 nike

我有 2 个编辑文本字段 ETPredictKm(长值)和 ETPredictFuelQty(双值)。如果我插入一个值,则在我单击相应的 EditText 时会自动生成另一个值。我正在使用 onFocusListener。我的问题是,当我插入 km 值来计算 fuelQty 时,它会被正确计算。但是,当我输入燃料数量并单击 ETPredictKm 时,我得到了无效长:“”异常。

请帮助我提出您的建议。谢谢。

这里是一些代码:

 try
{
predictKm = Long.parseLong(ETPredictKm.getText().toString()); //Get the error here
predictFuelQty = Double.parseDouble(ETPredictFuelQty.getText().toString());
}
catch(NumberFormatException ne)
{
ne.printStackTrace();
}
if(isChkLastMileage1 ==true || isChkLastMileage5==true||isChkLastMileage10==true)
{

if(ETPredictKm.hasFocus())
{
if(predictFuelQty!=0)
{
//predictionMileage is double too
predictKm =(long) (predictionMileage*predictFuelQty);
ETPredictKm.setText(String.valueOf(predictKm));

}
}
else if(ETPredictFuelQty.hasFocus())
{
// This value is calculated properly
if(predictKm!=0)
{
predictFuelQty =predictKm/predictionMileage;
ETPredictFuelQty.setText(new DecimalFormat("##.##").format(predictFuelQty)+" Litres");
}

}
}

最佳答案

在像这样转换为 long/double 之前,您可能希望修剪掉空格

try
{
predictKm = Long.parseLong(ETPredictKm.getText().toString().trim()); //Get the error here
predictFuelQty = Double.parseDouble(ETPredictFuelQty.getText().toString().trim());
}
catch(NumberFormatException ne)
{
ne.printStackTrace();
}

并在转换数据类型之前对 ETPredictFuelQty.getText()ETPredictKm.getText() 进行空/空检查,如果只有一个字段将被设置在任何时候,另一个都将为空/空,因此会抛出异常

关于android - 无效长 :""异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18042359/

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