DatePickerDialog
在很多時候需要用戶去設定時間,不可能讓用戶去在一個文本框中去輸入時間,所以就需要有個日期彈出選擇框,而這個框就是DatePickerDialog。
1.在API中的DatePickerDialog類的繼承關系

從類的繼承關系來看DatePickerDialog繼承於Dialog就可以明顯看出是一個彈出框了
2.構造函數

callBack:是在你設置時間的時候觸發的。
year , monthOfYear , dayOfMonth這三個參數是用來初始化DatePickerDialog的年月日的,要想獲取當前的事件的年月日就要用到對象Calendar
通過Calendar的get(int field);來獲取年月日
3.Public Methods

有解釋就不多做說明了:
下面就通過一個小例子來理解一下時間dialog:
當點擊TextView后彈出DatePickerDialog,然后設置好時間確定后,將設置好的時間值顯示在TextView上面
MainActivity:
1 public class MainActivity extends Activity { 2 3 private TextView getTime; 4 private Calendar calendar;// 用來裝日期的 5 private DatePickerDialog dialog; 6 7 @Override 8 protected void onCreate(Bundle savedInstanceState) { 9 super.onCreate(savedInstanceState); 10 setContentView(R.layout.activity_main); 11 getTime = (TextView) findViewById(R.id.time); 12 getTime.setOnClickListener(new View.OnClickListener() { 13 14 @Override 15 public void onClick(View v) { 16 calendar = Calendar.getInstance(); 17 dialog = new DatePickerDialog(MainActivity.this, 18 new DatePickerDialog.OnDateSetListener() { 19 20 @Override 21 public void onDateSet(DatePicker view, int year, 22 int monthOfYear, int dayOfMonth) { 23 System.out.println("年-->" + year + "月-->" 24 + monthOfYear + "日-->" + dayOfMonth); 25 getTime.setText(year + "/" + monthOfYear + "/" 26 + dayOfMonth); 27 } 28 }, calendar.get(Calendar.YEAR), calendar 29 .get(Calendar.MONTH), calendar 30 .get(Calendar.DAY_OF_MONTH)); 31 dialog.show(); 32 } 33 }); 34 35 } 36 }
對應的XML文件就一個TextView就不貼出來了

在點擊設置后,將值返回給了TextView為2014/4/6
代碼下載:代碼
