我有 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");
}
}
}