2 개의 editText가 있는데, 각각 lbs에서 kg으로 변환됩니다. 사용자가 하나의 editText에 숫자를 입력하고 두 번째를 편집하려고하면 NumberFormatException : Invalid int가 발생합니다.
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
switch (et.getId()) {
case R.id.kg: {
v2.removeTextChangedListener(watcher2);
if (s.length() < 1) {
v2.setText("");
} else {
v2.setText(toKG(s.toString()));
}
v2.addTextChangedListener(watcher2);
break;
}
case R.id.lbs: {
v1.removeTextChangedListener(watcher1);
if (s.length() < 1) {
v1.setText("");
} else {
v1.setText(toLBS(s.toString()));
}
v1.addTextChangedListener(watcher1);
break;
}
}
}
private String toKG(String input){
return "" + Integer.parseInt(input) * wKG;
}
문제는 Integer.parseInt()
정수를 포함하는 문자열 을 예상하고 문자열에 부동 숫자가 포함되어 있으면 실패한다는 것입니다.
이 시도:
private String toKG(String input) {
return Double.toString(Double.parseDouble(input) * wKG);
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다