내 앱에는 4 개의 편집 텍스트 필드가 있으며, 각각 하나의 long 값과 3 개의 double 값을 취합니다. onFocusChangedListener()와 함께 사용했습니다. 내 문제는 사용자가 값을 입력하기 전에 특정 편집 텍스트의 포커스가 기본값 (두 배의 경우 0.0)이 편집 필드에 표시 될 때마다입니다. 사용자가 값을 입력하기 전에 해당 사용자가 비어 있어야합니다. editText.setText ("") 및 editText.setHint ("")를 사용해 보았습니다. 그러나 활동이 시작될 때 작동하지만 편집 필드가 포커스를 얻으면 기본값이 표시됩니다. 제발 도와주세요. 감사합니다.초기 Edittext 값을 공백으로 공백으로 설정합니다.
을 Heres 코드
public void onFocusChange(View EditTextFocus , boolean hasFocus)
{
// TODO Auto-generated method stub
try
{
km= Long.parseLong(ETKm.getText().toString());
fuelQty= Double.parseDouble(ETFuelQty.getText().toString());
fuelPrice= Double.parseDouble(ETFuelPrice.getText().toString());
totalCost= Double.parseDouble(ETTotalCost.getText().toString());
}
catch(NumberFormatException ne)
{
ne.printStackTrace();
}
if(ETTotalCost.hasFocus())
{
if((fuelQty!=0)&&(fuelPrice!=0))
totalCost=fuelQty*fuelPrice;
ETTotalCost.setText(new DecimalFormat("##.##").format(totalCost));
}
else if(ETFuelQty.hasFocus())
{
ETFuelQty.setText("");
if((fuelPrice!=0)&&(totalCost!=0))
fuelQty= (int) (totalCost/fuelPrice);
ETFuelQty.setText(String.valueOf(fuelQty));
}
else if(ETFuelPrice.hasFocus())
{
ETFuelPrice.setText("");
if((fuelQty!=0)&&(totalCost!=0))
fuelPrice=totalCost/fuelQty;
ETFuelPrice.setText(String.valueOf(fuelPrice));
}
}
을 **하지만 도움이되지 않습니다 ** - 수단 ????. – user370305