天天看點

Android開發技術點5——日期選擇控件手動輸入設定值不起作用

在自定義Dialog中添加DatePicker寫一個日期選擇控件時(如下圖所示),遇到這樣一個問題,就是使用下圖中日期選擇控件自帶的加減号進行年月日的增減時,點選确認按鈕傳回的日期是我們想要的;

Android開發技術點5——日期選擇控件手動輸入設定值不起作用

但是像下圖中直接編輯年月日後,點選确認按鈕,傳回的日期卻不是我們想要的,還是會傳回編輯之前的日期,這個問題剛開始覺得非常的詭異,後來查找資料發現:就是當使用者點選“确定”的時候,将Datepicker的焦點清除,就能擷取到使用者輸入的日期。試了下,果然有效果;就是在點選“确定”的時候添加:datepicker.clearFocus();

Android開發技術點5——日期選擇控件手動輸入設定值不起作用

原因:DatePicker中Edittext,是封裝在NumberPicker中的,當焦點變化時,進行文本設定。是以在你點選擷取日期前,清空下這個DatePicker控件的焦點即可。

繼續閱讀