Android攻城狮datePicketimePicker
生活随笔
收集整理的這篇文章主要介紹了
Android攻城狮datePicketimePicker
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
DatePicker
1.month在機(jī)器中運(yùn)行時(shí)是從0開(kāi)始的,在sdk方法中使用一律采用不加1的方式,只有當(dāng)用于顯示時(shí)才手動(dòng)加1;
2.獲取日期實(shí)例并初始化并打印:
Calendar cal=Calendar.getInstance();
3.獲取當(dāng)前日期及時(shí)間:
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.//使標(biāo)題上的日期能隨著選擇的改變而改變
datePicker.init(year,month,day,new OnDateChangedListener()){
@Override
public void onDateChanged(DatePicker view,int year,int cal.get(Calendar.MONTH_OF_YEAR),int dayOfMonth){
setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);
}
}
時(shí)間選擇器就比上次的日期選擇器要簡(jiǎn)單很多了,首先不需要月份的換算,然后也不需要初始化,而是直接設(shè)置監(jiān)聽(tīng)器。 timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {@Overridepublic void onTimeChanged(TimePicker timePicker, int hourOfDay, int minute) {setTitle(hourOfDay+":"+minute);}});
DatePickerDialog總結(jié) 1.實(shí)例化 public DatePickerDialog(Context context, //上下文OnDateSetListener callBack, //回掉函數(shù)int year, //初始年月日int monthOfYear, int dayOfMonth) 2.調(diào)用.show()方法顯示 1 new DatePickerDialog(this, new OnDateSetListener() { 2 3 @Override 4 public void onDateSet(DatePicker view, int year, int monthOfYear, 5 int dayOfMonth) { 6 // TODO Auto-generated method stub 7 setTitle(year + "-" + (monthOfYear+1)+"-"+dayOfMonth ); 8 } 9 }, year, month, year).show(); TimePickerDialog總結(jié) 1.實(shí)例化 public TimePickerDialog(Context context, //上下文OnTimeSetListener callBack, //回掉函數(shù)int hourOfDay, int minute, //初始年月日,boolean is24HourView) //是否24小時(shí)制 1 new TimePickerDialog(this,new OnTimeSetListener() { 2 3 @Override 4 public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 5 // TODO Auto-generated method stub 6 7 } 8 }, hour, minute, true).show();
完整代碼
1 //3.0以上 2 //TimePicker和DatePicker選擇器的監(jiān)聽(tīng)以及Dialog對(duì)話框 3 public class MainActivity extends ActionBarActivity { 4 private TimePicker timepicker; 5 private DatePicker datepicker; 6 private Calendar cal; 7 private int year, month, day, hour, minute; 8 9 @Override 10 protected void onCreate(Bundle savedInstanceState) { 11 super.onCreate(savedInstanceState); 12 setContentView(R.layout.fragment_main); 13 timepicker = (TimePicker) findViewById(R.id.timePicker1); 14 datepicker = (DatePicker) findViewById(R.id.datePicker1); 15 // 獲取一個(gè)日歷對(duì)象 16 cal = Calendar.getInstance(); 17 //獲取年月日時(shí)分秒的信息 18 year = cal.get(Calendar.YEAR); 19 month = cal.get(Calendar.MONTH); 20 day = cal.get(Calendar.DAY_OF_MONTH); 21 hour = cal.get(Calendar.HOUR_OF_DAY); 22 minute = cal.get(Calendar.MINUTE); 23 setTitle(year + "-" + (month + 1) + "-" + day + "-" + hour + ":" + minute); 24 //------------------監(jiān)聽(tīng)---------------------------- 25 //datepicker初始化 26 datepicker.init(year, month,day , new OnDateChangedListener() { 27 28 @Override 29 public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 30 // TODO Auto-generated method stub 31 setTitle(year + "-" + (monthOfYear+1)+"-"+dayOfMonth ); 32 } 33 }); 34 35 timepicker.setOnTimeChangedListener(new OnTimeChangedListener() { 36 37 @Override 38 public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { 39 // TODO Auto-generated method stub 40 setTitle(hourOfDay+":"+minute); 41 } 42 }); 43 44 45 46 47 //-----------------對(duì)話框---------------------- 48 new DatePickerDialog(this, new OnDateSetListener() { 49 50 @Override 51 public void onDateSet(DatePicker view, int year, int monthOfYear, 52 int dayOfMonth) { 53 // TODO Auto-generated method stub 54 setTitle(year + "-" + (monthOfYear+1)+"-"+dayOfMonth ); 55 } 56 }, year, month, day).show(); 57 58 new TimePickerDialog(this,new OnTimeSetListener() { 59 60 @Override 61 public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 62 // TODO Auto-generated method stub 63 setTitle(hourOfDay+":"+minute); 64 } 65 }, hour, minute, true).show(); 66 67 } 68 69 }
時(shí)間選擇器就比上次的日期選擇器要簡(jiǎn)單很多了,首先不需要月份的換算,然后也不需要初始化,而是直接設(shè)置監(jiān)聽(tīng)器。 timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {@Overridepublic void onTimeChanged(TimePicker timePicker, int hourOfDay, int minute) {setTitle(hourOfDay+":"+minute);}});
DatePickerDialog總結(jié) 1.實(shí)例化 public DatePickerDialog(Context context, //上下文OnDateSetListener callBack, //回掉函數(shù)int year, //初始年月日int monthOfYear, int dayOfMonth) 2.調(diào)用.show()方法顯示 1 new DatePickerDialog(this, new OnDateSetListener() { 2 3 @Override 4 public void onDateSet(DatePicker view, int year, int monthOfYear, 5 int dayOfMonth) { 6 // TODO Auto-generated method stub 7 setTitle(year + "-" + (monthOfYear+1)+"-"+dayOfMonth ); 8 } 9 }, year, month, year).show(); TimePickerDialog總結(jié) 1.實(shí)例化 public TimePickerDialog(Context context, //上下文OnTimeSetListener callBack, //回掉函數(shù)int hourOfDay, int minute, //初始年月日,boolean is24HourView) //是否24小時(shí)制 1 new TimePickerDialog(this,new OnTimeSetListener() { 2 3 @Override 4 public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 5 // TODO Auto-generated method stub 6 7 } 8 }, hour, minute, true).show();
ps:
DatePicker對(duì)象是以init這個(gè)方法初始化來(lái)指定DatePicker初始化的年月日以及OnDateChangedListener來(lái)監(jiān)聽(tīng)日期的改變, 而TimePicker不需要init初始化,只需要設(shè)置監(jiān)聽(tīng)OnTimeChangedListener來(lái)監(jiān)聽(tīng)時(shí)間的改變, DatePickerDailog是以對(duì)話框的方式彈出日期選擇器,需要用new的方式創(chuàng)建并且傳入對(duì)應(yīng)的監(jiān)聽(tīng)OnDateSetListener,日期初始化數(shù)據(jù),最后記得設(shè)置對(duì)話框顯示(show)方法。 同樣TimePickerDailog也是需要以new的方式進(jìn)行初始化,并且設(shè)置OnTimeListene需要注意的是DatePicker的初始化月份可能需要-1的操作(假如month=calendar.get(Calendar.MONTH) + 1,就需要減一),但直接在init()中使用calendar.get(Calendar.MONTH)表示月份就無(wú)需這樣的操作完整代碼
1 //3.0以上 2 //TimePicker和DatePicker選擇器的監(jiān)聽(tīng)以及Dialog對(duì)話框 3 public class MainActivity extends ActionBarActivity { 4 private TimePicker timepicker; 5 private DatePicker datepicker; 6 private Calendar cal; 7 private int year, month, day, hour, minute; 8 9 @Override 10 protected void onCreate(Bundle savedInstanceState) { 11 super.onCreate(savedInstanceState); 12 setContentView(R.layout.fragment_main); 13 timepicker = (TimePicker) findViewById(R.id.timePicker1); 14 datepicker = (DatePicker) findViewById(R.id.datePicker1); 15 // 獲取一個(gè)日歷對(duì)象 16 cal = Calendar.getInstance(); 17 //獲取年月日時(shí)分秒的信息 18 year = cal.get(Calendar.YEAR); 19 month = cal.get(Calendar.MONTH); 20 day = cal.get(Calendar.DAY_OF_MONTH); 21 hour = cal.get(Calendar.HOUR_OF_DAY); 22 minute = cal.get(Calendar.MINUTE); 23 setTitle(year + "-" + (month + 1) + "-" + day + "-" + hour + ":" + minute); 24 //------------------監(jiān)聽(tīng)---------------------------- 25 //datepicker初始化 26 datepicker.init(year, month,day , new OnDateChangedListener() { 27 28 @Override 29 public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 30 // TODO Auto-generated method stub 31 setTitle(year + "-" + (monthOfYear+1)+"-"+dayOfMonth ); 32 } 33 }); 34 35 timepicker.setOnTimeChangedListener(new OnTimeChangedListener() { 36 37 @Override 38 public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { 39 // TODO Auto-generated method stub 40 setTitle(hourOfDay+":"+minute); 41 } 42 }); 43 44 45 46 47 //-----------------對(duì)話框---------------------- 48 new DatePickerDialog(this, new OnDateSetListener() { 49 50 @Override 51 public void onDateSet(DatePicker view, int year, int monthOfYear, 52 int dayOfMonth) { 53 // TODO Auto-generated method stub 54 setTitle(year + "-" + (monthOfYear+1)+"-"+dayOfMonth ); 55 } 56 }, year, month, day).show(); 57 58 new TimePickerDialog(this,new OnTimeSetListener() { 59 60 @Override 61 public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 62 // TODO Auto-generated method stub 63 setTitle(hourOfDay+":"+minute); 64 } 65 }, hour, minute, true).show(); 66 67 } 68 69 }
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/my334420/p/6701219.html
總結(jié)
以上是生活随笔為你收集整理的Android攻城狮datePicketimePicker的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: html图片标签 imag
- 下一篇: 两码运营:孕育而生