Android provides a ready-to-use dialog box that allows users to select a time or date. Today we will simply learn about the use of picker.
The project structure is as follows:
Create a time picker
Create a timepickerfragment
classTimepickerfragmentextendsDialogfragmentImplementsTimepickerdialog.ontimesetlistener {@Override Public voidOntimeset (Timepicker view,intHourofday,intminute) {String time= Hourofday + ":" +minute; Timeview.settext (time); } @Override PublicDialog Oncreatedialog (Bundle savedinstancestate) {FinalCalendar Calendar =calendar.getinstance (); intHours =Calendar.get (Calendar.hour_of_day); intminutes =Calendar.get (Calendar.minute); return NewTimepickerdialog (Getactivity (), This, hours, minutes, Dateformat.is24hourformat (Getactivity ())); }}
Used in mainactivity :
// Show the picker of the time Public void Showtimepickerdialog (View v) { new timepickerfragment (); " Timepicker ");}
Create a date picker
Create a datepickerfragment
classDatepickerfragmentextendsDialogfragmentImplementsDatepickerdialog.ondatesetlistener {@Override PublicDialog Oncreatedialog (Bundle savedinstancestate) {FinalCalendar C =calendar.getinstance (); intYear =C.get (calendar.year); intmonth =C.get (Calendar.month); intDay =C.get (Calendar.day_of_month); return NewDatepickerdialog (Getactivity (), This, year, month, day); } Public voidOndateset (DatePicker view,intYearintMonthintDay ) {String Date= year + "-" + month + "-" +Day ; Dateview.settext (date); }}
Used in mainactivity :
// Picker of the date displayed Public void Showdatepickerdialog (View v) { new datepickerfragment (); " DatePicker ");}
The above operation effect is as follows:
complete code for the test
Mainactivity.java
Packagecom.huhx.linux.pickertest;ImportAndroid.app.DatePickerDialog;ImportAndroid.app.Dialog;Importandroid.app.DialogFragment;ImportAndroid.app.TimePickerDialog;ImportAndroid.os.Bundle;Importandroid.support.v7.app.AppCompatActivity;ImportAndroid.text.format.DateFormat;ImportAndroid.view.View;ImportAndroid.widget.DatePicker;ImportAndroid.widget.TextView;ImportAndroid.widget.TimePicker;ImportJava.util.Calendar; Public classMainactivityextendsappcompatactivity {PrivateTextView Timeview; PrivateTextView Dateview; @Overrideprotected voidonCreate (Bundle savedinstancestate) {Super. OnCreate (savedinstancestate); Setcontentview (R.layout.activity_main); Timeview=(TextView) Findviewbyid (r.id.time); Dateview=(TextView) Findviewbyid (r.id.date); } //Show the picker of the time Public voidShowtimepickerdialog (View v) {dialogfragment newfragment=Newtimepickerfragment (); Newfragment.show (Getfragmentmanager (),"Timepicker"); } //Picker of the date displayed Public voidShowdatepickerdialog (View v) {dialogfragment newfragment=Newdatepickerfragment (); Newfragment.show (Getfragmentmanager (),"DatePicker"); } classDatepickerfragmentextendsDialogfragmentImplementsDatepickerdialog.ondatesetlistener {@Override PublicDialog Oncreatedialog (Bundle savedinstancestate) {FinalCalendar C =calendar.getinstance (); intYear =C.get (calendar.year); intmonth =C.get (Calendar.month); intDay =C.get (Calendar.day_of_month); return NewDatepickerdialog (Getactivity (), This, year, month, day); } Public voidOndateset (DatePicker view,intYearintMonthintDay ) {String Date= year + "-" + month + "-" +Day ; Dateview.settext (date); } } classTimepickerfragmentextendsDialogfragmentImplementsTimepickerdialog.ontimesetlistener {@Override Public voidOntimeset (Timepicker view,intHourofday,intminute) {String time= Hourofday + ":" +minute; Timeview.settext (time); } @Override PublicDialog Oncreatedialog (Bundle savedinstancestate) {FinalCalendar Calendar =calendar.getinstance (); intHours =Calendar.get (Calendar.hour_of_day); intminutes =Calendar.get (Calendar.minute); return NewTimepickerdialog (Getactivity (), This, hours, minutes, Dateformat.is24hourformat (Getactivity ())); } }}
Mainactivity.java
Activity_main.xml
<?XML version= "1.0" encoding= "Utf-8"?><LinearLayoutxmlns:android= "Http://schemas.android.com/apk/res/android"Xmlns:tools= "Http://schemas.android.com/tools"Android:layout_width= "Match_parent"Android:layout_height= "Match_parent"android:orientation= "vertical"Tools:context= "Com.huhx.linux.pickertest.MainActivity"> <TextViewAndroid:id= "@+id/time"Android:text= "Time"Android:layout_width= "Wrap_content"Android:layout_height= "Wrap_content" /> <TextViewAndroid:text= "Date"Android:id= "@+id/date"Android:layout_width= "Wrap_content"Android:layout_height= "Wrap_content" /> <ButtonAndroid:layout_width= "Wrap_content"Android:layout_height= "Wrap_content"Android:onclick= "Showtimepickerdialog"Android:text= "Picker Time" /> <ButtonAndroid:layout_width= "Wrap_content"Android:layout_height= "Wrap_content"Android:onclick= "Showdatepickerdialog"Android:text= "Picker Date" /></LinearLayout>
Activity_main.xml
Android Basic components---->pickers use