如果我想偵測某個EditText是否為全部數字且要在0~100間的話要怎麼做呢?設定EditText輸入的格式後,當然我知道大家都會說這很簡單阿,但分享一下我覺得很聰明的方式。
如果輸入的不是數字,那麼在Double.parseDouble時會錯誤,則會跳到catch 去顯示Dialog,不符合0~100時,也會到catch 去顯示Dialog,這樣程式碼真簡潔。
try顯示的Dialog的方法
{
first_rate = Double.parseDouble(rate1.getText().toString());
if (first_rate < 0 || first_rate > 100)
{
throw new Exception();
}
}
catch (Exception ex)
{
ShowDialog("錯誤","格式錯誤, 請輸入 0 ~ 100 之間的數字");
}
private void ShowDialog(String title,String msg)
{
AlertDialog.Builder builder = new Builder(getActivity());
builder.setTitle(title);
builder.setMessage(msg);
builder.setPositiveButton("確定", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
Dialog noticeDialog = builder.create();
noticeDialog.show();
}
沒有留言:
張貼留言