我創建了一個帶有TextEdit的對話框作爲數字輸入以將其轉換爲雙精度值。 我想通過檢查來防止異常,如果TextEdit輸入爲空,但它總是跳轉到else語句,並因此在EditText爲空時創建異常。AlertDialog EditText輸入驗證不起作用
final Builder builder = new Builder(this);
final EditText input = new EditText(this);
input.setKeyListener(DigitsKeyListener.getInstance(false, true));
builder
.setTitle(R.string.dialog_title_addmark)
.setMessage(R.string.dialog_addmark)
.setView(input)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
if (input.toString().trim().length() == 0) {
Toast.makeText(Marks.this, R.string.input_empty, Toast.LENGTH_SHORT).show();
} else {
Double value = Double.valueOf(input.getText().toString());
db.insertMark(selection, value);
getData();
}
}
})
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
})
.show();
我也試了一下檢查 (input.toString()!= NULL) 但這並不工作。
感謝您的幫助
對我而言真是一個失敗...感謝您的解決方案 – BlueHazard