Menampilkan DatePicker View

View lain yang mirip dengan ‘TimePicker’ adalah ‘DatePicker’. Dengan menggunakan ‘DatePicker’ kita bisa mengijinakn user untuk memilih tanggal tertentu pada activity. Berikut adalah latihan menampilkan ‘DatePicker’.

1. Kita masih menggunakan project yang sama dengan latihan sebelumnya tentang Menampilkan TimePicker.

2. Kita modifikasi file layout “activity_main.xml” seperti berikut:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="id.co.blogspot.diansano.viewdasar4.MainActivity">

<Button
android:id="@+id/btnSet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:onClick="onClick"
android:text="Set Waktu"/>

<DatePicker
android:id="@+id/datePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:datePickerMode="spinner"
android:calendarViewShown="false"/>

<TimePicker
android:id="@+id/timePicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:timePickerMode="spinner"/>

</LinearLayout>
3. Kita modifikasi file “MainActivity.java” seperti berikut:
package id.co.blogspot.diansano.viewdasar4;

import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

TimePicker timePicker;
DatePicker datePicker;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

timePicker = (TimePicker) findViewById(R.id.timePicker);
timePicker.setIs24HourView(true);

datePicker = (DatePicker) findViewById(R.id.datePicker);
}

public void onClick(View view) {
if (Build.VERSION.SDK_INT >= 23) {
Toast.makeText(getBaseContext(),
"Tanggal yang dipilih:" + (datePicker.getMonth() + 1) +
"/" + datePicker.getDayOfMonth() +
"/" + datePicker.getYear() + "\n" +
"Waktu yang dipilih:" + timePicker.getHour() +
":" + timePicker.getMinute(),
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getBaseContext(),
"Tanggal yang dipilih:" + (datePicker.getMonth() + 1) +
"/" + datePicker.getDayOfMonth() +
"/" + datePicker.getYear() + "\n" +
"Waktu yang dipilih:" +
timePicker.getCurrentHour() + ":" +
timePicker.getCurrentMinute(),
Toast.LENGTH_LONG).show();
}
}
}
4. Jalankan di emulator Android Studio seperti berikut:


Penjelasan:

Seperti pada ‘TimePicker’, kita memanggil method ‘getMonth()’, ‘getDayofMonth()’, dan ‘getYear()’ untuk mengambil bulan, tanggal, dan tahun seperti berikut:
"Tanggal yang dipilih:" + (datePicker.getMonth() + 1) +
"/" + datePicker.getDayOfMonth() +
"/" + datePicker.getYear() + "\n" +
Catatan: 
Method ‘getMonth()’ akan mengembalikan nilai 0 untuk bulan Januari, 1 untuk Februari, dan seterusnya. sehinga kita perlu menambahkan angka 1 untuk mendapatkan bulan dalam bentuk angka.

No comments: