2010-12-20 63 views
2

我在我的活動中有一個DatePicker。除非用戶通過鍵盤輸入日期,並且不使用+或 - 按鈕更改日期,否則它可以正常工作。 用戶通過鍵盤編輯時返回的日期始終是DatePicker初始化的日期。 當調試我注意到onDateChanged()回調從來沒有被調用,除非日期更改使用按鈕。DatePicker沒有響應來自Android的鍵盤的用戶輸入

回答

8

是的,我也遇到過這個問題。僅當您從活動的編輯文本中移除焦點時,日期選擇器纔會保存更改。所以你必須運行「mDatePicker.clearFocus();」在從它得到日期之前。

+0

謝謝。但我決定用日期選取器對話框替換該部分。但我檢查了你建議的解決方案,它的工作原理非常感謝。 – vlator 2010-12-27 21:00:05

+1

@vlator不要忘記接受答案,這個解決方案爲我工作:D – schwiz 2011-05-17 22:27:16

6

看看這個解決方案...

DatePicker dp = (DatePicker) findViewById(R.id.datePicker1); 
dp.clearChildFocus(getCurrentFocus()); 
int day = dp.getDayOfMonth(); 
int month = dp.getMonth(); 
int year = dp.getYear(); 

...使用 「clearFocus」 中的DatePicker不會完全保存用戶的變化。