Dalam android, picker sering dimanfaatkan untuk melakukan setting tanggal dan jam. Berikut langkah pembuatannya.
Buat file layout dengan nama "activity_picker.xml" pada folder res>layout.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/dateAndTime"/>
<Button android:text="Set the Date"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/dayBtn">
</Button>
<Button android:text="Set the Time"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/timeBtn">
</Button>
</LinearLayout>
Selanjutnya, buat file java dengan nama "Picker.java" pada folder src.
package com.example.contoh;
import java.text.DateFormat;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
public class Picker extends Activity implements OnClickListener{
DateFormat fmtDateAndTime = DateFormat.getDateTimeInstance();
TextView dateAndTimeLabel;
Calendar dateAndTime = Calendar.getInstance();
DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
// TODO Auto-generated method stub
dateAndTime.set(Calendar.YEAR, year);
dateAndTime.set(Calendar.MONTH, month);
dateAndTime.set(Calendar.DAY_OF_MONTH, day);
updateLabel();
}
};
TimePickerDialog.OnTimeSetListener t = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int jam, int menit) {
// TODO Auto-generated method stub
dateAndTime.set(Calendar.HOUR_OF_DAY, jam);
dateAndTime.set(Calendar.MINUTE, menit);
updateLabel();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_picker);
Button dayBtn = (Button) findViewById(R.id.dayBtn);
dayBtn.setOnClickListener(this);
Button timeBtn = (Button) findViewById(R.id.timeBtn);
timeBtn.setOnClickListener(this);
dateAndTimeLabel = (TextView) findViewById(R.id.dateAndTime);
updateLabel();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.dayBtn: settingTanggal(); break;
case R.id.timeBtn: setJam(); break;
}
}
private void updateLabel() {
dateAndTimeLabel.setText( fmtDateAndTime.format(dateAndTime.getTime()));
}
private void settingTanggal() {
new DatePickerDialog(Picker.this, d, dateAndTime.get(Calendar.YEAR), dateAndTime.get(Calendar.MONTH), dateAndTime.get(Calendar.DAY_OF_MONTH)).show();
}
private void setJam() {
new TimePickerDialog(Picker.this, t, dateAndTime.get(Calendar.HOUR_OF_DAY), dateAndTime.get(Calendar.MINUTE), true).show();
}
}
Terakhir, tambahkan deklarasi file java yang akan di-running pada file AndroidManifest.xml.
<activity
android:name="com.example.contoh.Picker"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Berikut tampilannya.

Tidak ada komentar:
Posting Komentar