標籤:需要 建立 上下文 span ide 總結 font void 選擇
DatePicker1.month在機器中運行時是從0開始的,在sdk方法中使用一律採用不加1的方式,只有當用於顯示時才手動加1;2.擷取日期執行個體並初始化並列印:Calendar cal=Calendar.getInstance();3.擷取當前日期及時間:int year=cal.get(Calendar.YEAR);int month=cal.get(Calendar.MONTH)+1;int day=cal.get(Calendar.DAY_OF_MONTH);int hour=cal.get(Calendar.HOUR_OF_DAY);int minute=cal.get(Calendar.MINUTE_OF_HOUR);setTitle(year+"-"+month+"-"+day+"-"+hour+":"+minute);4.//使標題上的日期能隨著選擇的改變而改變datePicker.init(year,month,day,new OnDateChangedListener()){@Overridepublic void onDateChanged(DatePicker view,int year,int cal.get(Calendar.MONTH_OF_YEAR),int dayOfMonth){setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);}}
時間選取器就比上次的日期選取器要簡單很多了,首先不需要月份的換算,然後也不需要初始化,而是直接設定監聽器。timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { @Override public void onTimeChanged(TimePicker timePicker, int hourOfDay, int minute) { setTitle(hourOfDay+":"+minute); } });
DatePickerDialog總結1.執行個體化 public DatePickerDialog(Context context, //上下文 OnDateSetListener callBack, //回掉函數 int year, //初始年月日 int monthOfYear, int dayOfMonth)2.調用.show()方法顯示
1 new DatePickerDialog(this, new OnDateSetListener() {2 3 @Override4 public void onDateSet(DatePicker view, int year, int monthOfYear,5 int dayOfMonth) {6 // TODO Auto-generated method stub7 setTitle(year + "-" + (monthOfYear+1)+"-"+dayOfMonth );8 }9 }, year, month, year).show();
TimePickerDialog總結1.執行個體化 public TimePickerDialog(Context context, //上下文 OnTimeSetListener callBack, //回掉函數 int hourOfDay, int minute, //初始年月日, boolean is24HourView) //是否24小時制
1 new TimePickerDialog(this,new OnTimeSetListener() {2 3 @Override4 public void onTimeSet(TimePicker view, int hourOfDay, int minute) {5 // TODO Auto-generated method stub6 7 }8 }, hour, minute, true).show();
ps:
DatePicker對象是以init這個方法初始化來指定DatePicker初始化的年月日以及OnDateChangedListener來監聽日期的改變,而TimePicker不需要init初始化,只需要設定監聽OnTimeChangedListener來監聽時間的改變,DatePickerDailog是以對話方塊的方式彈出日期選取器,需要用new的方式建立並且傳入對應的監聽OnDateSetListener,日期初始化資料,最後記得設定對話方塊顯示(show)方法。同樣TimePickerDailog也是需要以new的方式進行初始化,並且設定OnTimeListene需要注意的是DatePicker的初始化月份可能需要-1的操作(假如month=calendar.get(Calendar.MONTH) + 1,就需要減一),但直接在init()中使用calendar.get(Calendar.MONTH)表示月份就無需這樣的操作
Android攻城獅datePicke&timePicker