2012年8月15日 星期三

使用try偵測EditText的值是否為數字


   如果我想偵測某個EditText是否為全部數字且要在0~100間的話要怎麼做呢?設定EditText輸入的格式後,當然我知道大家都會說這很簡單阿,但分享一下我覺得很聰明的方式。



如果輸入的不是數字,那麼在Double.parseDouble時會錯誤,則會跳到catch 去顯示Dialog,不符合0~100時,也會到catch 去顯示Dialog,這樣程式碼真簡潔。


         try
          {
            first_rate = Double.parseDouble(rate1.getText().toString());
            if (first_rate < 0 || first_rate > 100)
            {
              throw new Exception();
            }
          }
          catch (Exception ex)
          {
            ShowDialog("錯誤","格式錯誤, 請輸入 0 ~ 100 之間的數字");
           
 
          }



顯示的Dialog的方法


  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();
 
  }


沒有留言:

張貼留言

星期、月份英文縮寫

中文 英文 3字母 縮寫 3字母 縮寫 2字母 縮寫 2字母 縮寫 1字母 縮寫 1字母 縮寫 其他 縮寫 星期日 Sunday SUN Sun SU Su S S 星期一 Monday MON Mon MO Mo M M 星期二 Tuesday TUE Tue TU ...