Android : Membuat Date Picker dan Time Picker Dialog
Bahasa pemrograman : Java
Versi Android Studio : 2.3.3
Kadang aplikasi Android yang dibuat membutuhkan input berupa waktu (tanggal dan jam). Untuk keperluan tersebut dapat dibuat Dialog date picker dan time picker.
Untuk membuat dialog date picker, salah satu caranya adalah dengan membuat class DatePickerFragment yang diturunkan dari DialogFragment, code lengkapnya adalah sebagai berikut
Pembuatan time picker dialog salah satu caranya dengan membuat class TimePickerFragment yang diturunkan dari DialogFragment, code lengkapnya adalah sebagai berikut
Referensi
https://developer.android.com/guide/topics/ui/controls/pickers.html
Versi Android Studio : 2.3.3
Kadang aplikasi Android yang dibuat membutuhkan input berupa waktu (tanggal dan jam). Untuk keperluan tersebut dapat dibuat Dialog date picker dan time picker.
Date Picker Dialog
Date picker dialog digunakan untuk menginputkan tanggal.Untuk membuat dialog date picker, salah satu caranya adalah dengan membuat class DatePickerFragment yang diturunkan dari DialogFragment, code lengkapnya adalah sebagai berikut
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
}
public void onDateSet(DatePicker view, int year, int month, int day) {
// Do something with the date chosen by the user
tvDate.setText(String.valueOf(day)+"-"
+String.valueOf(month+1)
+"-"+String.valueOf(year));
}
}
Contoh penggunaan DatePickerFragment adalah dengan memanggilnya di method yang digunakan untuk event click sebuah Button
public void setDate(View view){
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getSupportFragmentManager(), "datePicker");
}
Pada file xml panggil method setDate di property onClick sebuah Button
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="set date"
android:onClick="setDate"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:id="@+id/btnDate" />
Time Picker Dialog
Time picker dialog digunakan untuk input data berupa waktu (jam dan menit).Pembuatan time picker dialog salah satu caranya dengan membuat class TimePickerFragment yang diturunkan dari DialogFragment, code lengkapnya adalah sebagai berikut
public static class TimePickerFragment extends DialogFragment
implements TimePickerDialog.OnTimeSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(),
this, hour, minute,
DateFormat.is24HourFormat(getActivity()));
}
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// jika menit kurangdari 10, tambahkan 0 di depan (agar format menit konsisten 2 digit)
if (minute < 10){
tvTime.setText(String.valueOf(hourOfDay)
+":0"+String.valueOf(minute));
} else {
tvTime.setText(String.valueOf(hourOfDay)
+":"+String.valueOf(minute));
}
}
}
Contoh penggunaan TimePickerFragment adalah dengan memanggilnya di method yang digunakan untuk event click sebuah Button
public void setTime(View view){
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getSupportFragmentManager(), "timePicker");
}
Pada file xml panggil method setTime di property onClick sebuah Button
<Button
android:id="@+id/btnTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="set time"
android:onClick="setTime"
android:layout_alignTop="@+id/tvTime"
android:layout_alignLeft="@+id/btnDate"
android:layout_alignStart="@+id/btnDate" />
Referensi
https://developer.android.com/guide/topics/ui/controls/pickers.html
Comments
Post a Comment