我有一個文本字段,用戶可以輸入任何數字,當用戶輸入100到200之間的數字時,該按鈕應該被禁用。我已將文本字段轉換爲整數,並將輸入的文本與數字進行比較。但我正在崩潰。比較一個文本到整數,數字格式異常
private EditText flightNumber;
@Override
public void afterTextChanged(Editable s) {
if(flightNumber.getText().toString()!=null) {
int flightNo = Integer.parseInt(flightNumber.getText().toString());
if (flightNo >=30 && flightNo <=99) {
saveButton.setEnabled(false);
saveButton.setVisibility(View.GONE);
Toast.makeText(getApplicationContext(), getText(R.string.flight_warning), Toast.LENGTH_LONG)
.show();
} else {
saveButton.setEnabled(true);
saveButton.setVisibility(View.VISIBLE);
}
}
verifyFlightKeyData();
checkMandatoryFields();
}
這是日誌
java.lang.NumberFormatException: Invalid int: ""
at java.lang.Integer.invalidInt(Integer.java:137)
at java.lang.Integer.parseInt(Integer.java:358)
at java.lang.Integer.parseInt(Integer.java:331)
at com.miairline.chooseflight.FlightDataActivity$1.afterTextChanged(FlightDataActivity.java:112)
at android.widget.TextView.sendAfterTextChanged(TextView.java:8939)
飛機墜毀在此行中發生的事情:
int flightNo = Integer.parseInt(flightNumber.getText().toString());
我用這個,它工作(!flightNumber.getText.toString()。isEmpty())。 – Peele