Android – DatePickerDialog example

By -



Problem: Select date from dialog and display it in TextView.

Solution:

DatePickerDemoActivity.java


package com.paresh.datepicker;

import java.util.Calendar;

import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;

public class DatePickerDemoActivity extends Activity {
    /** Called when the activity is first created. */

	   private TextView mDateDisplay;
	    private Button mPickDate;
	    private int mYear;
	    private int mMonth;
	    private int mDay;

	    static final int DATE_DIALOG_ID = 0;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // capture our View elements
        mDateDisplay = (TextView) findViewById(R.id.dateDisplay);
        mPickDate = (Button) findViewById(R.id.pickDate);

        // add a click listener to the button
        mPickDate.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                showDialog(DATE_DIALOG_ID);
            }
        });

        // get the current date
        final Calendar c = Calendar.getInstance();
        mYear = c.get(Calendar.YEAR);
        mMonth = c.get(Calendar.MONTH);
        mDay = c.get(Calendar.DAY_OF_MONTH);

        // display the current date (this method is below)
        updateDisplay();
    }

    // updates the date in the TextView
    private void updateDisplay() {
        mDateDisplay.setText(getString(R.string.strSelectedDate,
            new StringBuilder()
                    // Month is 0 based so add 1
                    .append(mMonth + 1).append("-")
                    .append(mDay).append("-")
                    .append(mYear).append(" ")));
    }

    // the callback received when the user "sets" the date in the dialog
    private DatePickerDialog.OnDateSetListener mDateSetListener =
            new DatePickerDialog.OnDateSetListener() {

                public void onDateSet(DatePicker view, int year,
                                      int monthOfYear, int dayOfMonth) {
                    mYear = year;
                    mMonth = monthOfYear;
                    mDay = dayOfMonth;
                    updateDisplay();
                }
            };

	@Override
	protected Dialog onCreateDialog(int id) {
		switch (id) {
		case DATE_DIALOG_ID:
			return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,
					mDay);
		}
		return null;
	}
}

main.xml



    

    
Output:
Android - DatePickerDialog example

Android - DatePickerDialog example

Android - DatePickerDialog example

Android - DatePickerDialog example

Download full example: Android – DatePickerDialog example






Paresh Mayani

Paresh Mayani is a lead android developer from India. Currently, He is Sr. Software engineer at InfoStretch Solutions Pvt. Ltd. He has been developing android apps since very 1st version i.e. Android 1.5, he says he has seen days and nights of Android history. He is the Head/Organizer of Google Developers Group (GDG), Ahmedabad

  • http://androcid.com Prajyot M

    Well executed code buddy. In fact, changing and storing date is one of the coolest stuff to work on android :)

    • http://www.technotalkative.com/ Paresh N. Mayani

      Thanx Prajyot :)

  • http://extendedui.appspot.com peter

    I dislike Android picker dialogs, prefer iOS UI.

    For day selecting I have created more user friendly widget:

    http://extendedui.appspot.com

    • http://www.technotalkative.com/ Paresh N. Mayani

      Hello Peter,
      Its amazing work done by you. Thanx for the link, it will be helpful to our other readers.

  • http://www.techienjoy.com/android-examples.php Ishtek

    nice article thanks.

  • Rajesh

    Dear Paresh,

    My name is Rajesh (Bangkok, Thailand). Im now interested in coding android app for my personal use. I have stuck with this feature DatePickerDialog on my implementing coding. Is it possible for me to get the valuable advise from you?

    BR,
    Rajesh N.

  • phila

    your Zip is full of empty files, not to mention the “main.xml” part of the page is empty as well

    well done on the great quality checking :-P