Datetimepickerdialog.java Package me.gogogogo.util; Import Java.text.SimpleDateFormat; Import Java.util.Calendar; Import ME.GOGOGOGO.ACTIVITY.R; Import android.app.Activity; Import Android.app.AlertDialog; Import Android.app.DatePickerDialog; Import Android.app.TimePickerDialog; Import Android.content.DialogInterface; Import Android.widget.DatePicker; Import Android.widget.EditText; Import Android.widget.LinearLayout; Import Android.widget.DatePicker.OnDateChangedListener; Import Android.widget.TimePicker; Import Android.widget.TimePicker.OnTimeChangedListener; /** * Date Time selection control * @author Desert */ public class Datetimepickerdialog implements ondatechangedlistener,ontimechangedlistener{ Private DatePicker DatePicker; Private Timepicker Timepicker; Private Alertdialog AD; Private String DateTime; Private String Initdatetime; activity of private activity;
/** * Date Time pop-up selection box structure * @param activity: Invoked parent activity */ Public Datetimepickerdialog (activity activity) { This.activity = activity; }
public void init (DatePicker datepicker,timepicker timepicker) { Calendar calendar= calendar.getinstance (); Initdatetime=calendar.get (calendar.year) + "-" +calendar.get (calendar.month) + "-" + Calendar.get (Calendar.day_of_month) + "" + Calendar.get (Calendar.hour_of_day) + ":" + Calendar.get (Calendar.minute) + Calendar.get (Calendar.second); Datepicker.init (Calendar.get (calendar.year), Calendar.get (Calendar.month), Calendar.get (Calendar.DAY_OF_MONTH), this); Timepicker.setcurrenthour (Calendar.get (calendar.hour_of_day)); Timepicker.setcurrentminute (Calendar.get (Calendar.minute)); }
/** * Popup Date Time selection box * @param datetimetextedite The date time text edit box you want to set * @param type:0 for date Time type: Yyyy-mm-dd HH:mm:ss * 1 for Date type: YYYY-MM-DD * 2 for TIME type: HH:MM:SS * @return */ Public Alertdialog datetimepickdialog (final edittext datetimetextedite, int type) { Calendar C = calendar.getinstance (); Switch (type) { Case 1: New Datepickerdialog (activity, New Datepickerdialog.ondatesetlistener () { public void Ondateset (DatePicker datepicker, int year, int monthofyear, int DayOfMonth) { Calendar calendar = Calendar.getinstance (); Calendar.set (Datepicker.getyear (), Datepicker.getmonth (), Datepicker.getdayofmonth ()); SimpleDateFormat SDF = new SimpleDateFormat ("Yyyy-mm-dd"); Datetime=sdf.format (Calendar.gettime ()); Datetimetextedite.settext (DateTime); } }, C.get (Calendar.year), C.get (Calendar.month), C.get (Calendar.date)). Show (); return null; Case 2: New Timepickerdialog (activity, New Timepickerdialog.ontimesetlistener () { public void Ontimeset (Timepicker timepicker, int hourofday, int minute) { Calendar calendar = Calendar.getinstance (); Calendar.set (Calendar.year, Calendar.month, Calendar.day_of_month, Timepicker.getcurrenthour (), Timepicker.getcurrentminute ()); SimpleDateFormat SDF = new SimpleDateFormat ("HH:mm:ss"); Datetime=sdf.format (Calendar.gettime ()); Datetimetextedite.settext (DateTime); } }, C.get (Calendar.hour_of_day), C.get (Calendar.minute), true). Show (); return null; Default LinearLayout datetimelayout = (linearlayout) activity.getlayoutinflater (). Inflate (r.layout.datetime, NULL); DatePicker = (DatePicker) Datetimelayout.findviewbyid (R.id.datepicker); Timepicker = (timepicker) Datetimelayout.findviewbyid (R.id.timepicker); Init (Datepicker,timepicker); Timepicker.setis24hourview (TRUE); Timepicker.setontimechangedlistener (this);
AD = new Alertdialog.builder (activity). SetIcon (R.drawable.datetimeicon). Settitle (Initdatetime). Setview ( datetimelayout). Setpositivebutton ("Settings", New Dialoginterface.onclicklistener () { public void OnClick (Dialoginterface dialog, int Whichbutton) { Datetimetextedite.settext (DateTime); } }). Setnegativebutton ("Cancel", New Dialoginterface.onclicklistener () { public void OnClick (Dialoginterface dialog, int Whichbutton) { Datetimetextedite.settext (""); } ). Show (); ondatechanged (null, 0, 0, 0); return AD; } }
public void ontimechanged (timepicker view, int hourofday, int minute) { ondatechanged (null, 0, 0, 0); } public void ondatechanged (DatePicker view, int year, int monthofyear, int dayofmonth) { Calendar calendar = Calendar.getinstance (); Calendar.set (Datepicker.getyear (), Datepicker.getmonth (), Datepicker.getdayofmonth (), Timepicker.getcurrenthour (), Timepicker.getcurrentminute ()); SimpleDateFormat SDF = new SimpleDateFormat ("Yyyy-mm-dd HH:mm:ss"); Datetime=sdf.format (Calendar.gettime ()); Ad.settitle (DateTime); }
} |