前言
本章翻譯的是android.widget.DatePicker,版本為Android 2.2 r1,譯為日期選取器。歡迎更多朋友一起參與Android API 的中文翻譯行動!我的郵箱over140@gmail.com。
聲明
歡迎轉載,但請保留文章原始出處:)
部落格園:http://www.cnblogs.com
農民伯伯: http://www.cnblogs.com/over140/
本文
一、結構
public class DatePicker extends FrameLayout
java.lang.Object
android.view.View
android.view.ViewGroup
android.widget.FrameLayout
android.widget.DatePicker
二、概述
一個選擇年月日的日曆布局視圖。對於對話方塊樣式的行事曆檢視,參見DatePickerDialog
.
三、公用方法
public int getDayOfMonth ()
擷取選擇的天數
public int getMonth ()
擷取選擇的月份。(注意:返回數值為0..11,需要自己+1來顯示)
public int getYear ()
擷取選擇的年份
public void init (int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)
初始化狀態。(譯者註:初始化年月日)
參數
year 初始年(譯者註:注意使用new Date()初始化年時,需要+1900,如下:date.getYear() + 1900)
monthOfYear 初始月。
dayOfMonth 初始日。
onDateChangedListener 日期改變時通知使用者的事件監聽,可以為空白(null)。
public void setEnabled (boolean enabled)
設定視圖的啟用狀態。該啟用狀態隨子類的不同而有不同的解釋。
參數
enabled 設定為true表示啟動視圖,反之禁用。
public void updateDate (int year, int monthOfYear, int dayOfMonth)
更新日期
四、受保護方法
protected void dispatchRestoreInstanceState (SparseArray<Parcelable> container)
重寫使我們能夠完全控制這小組件的儲存或恢複。(譯者註:此處直接調用了父類的ViewGroup. dispatchThawSelfOnly方法)
參數
container SparseArray 持有儲存以前的狀態。The SparseArray which holds previously saved state.
protected void onRestoreInstanceState (Parcelable state)
允許視圖重新應用以前通過onSaveInstanceState()產生代表內部的狀態。這個函數決不調用一個空的狀態。
參數
state The frozen state that had previously been returned by onSaveInstanceState().
返回以前調用onSaveInstanceState()儲存下來的狀態。
protected Parcelable onSaveInstanceState ()
允許檢視窗產生一個代表內部的狀態,以後可用於建立一個與之相同的新的執行個體。這種狀態應該只包含非持久或以後不能夠重建的資訊。例如,你決不儲存你當前在螢幕上的位置,因為這會在視圖的層面上重新計算放置一個新的執行個體。
你可以儲存到這裡的一些例子:一個文字框中當前游標的位置(但通常不是文字本身,文字通常儲存在內容提供者(content provider)或其他持久的儲存中),一個列表視圖中的當前選中項。
傳回值
返回一個包含視圖目前狀態的Parcelable對象,或沒有什麼狀態儲存時返回null。預設實現返回null。
五、補充
5.1 如果只想顯示年月或者是月日,可以取巧用android:layout_marginLeft屬性控制顯示隱藏控制項一部分。
5.2 如果用Date初始化的時候,需要注意年的問題:
Date date = new Date();
dpDate.init(date.getYear() + 1900, date.getMonth(), 1, null);
代碼說明:dpDate為DatePicker控制項。
5.3 相關文章連結
DatePicker的一些問題
日期選擇器(DatePicker)和時間選擇器(TimePicker)
Android中動態輸入日期與時間-DatePicker與TimePicker應用
結束
為了節約時間,從本章開始不提供PDF和WORD格式下載,定期出CHM格式的合集供大家下載。此外文章隨時可能更新,請大家保持連結。