Monday, 8 April 2013

 

Date Picker - Anroid Example

Project Structure :

date picker project sketch
 


 

File : res/layout/main.xml

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   <Buttonh
       android:id="@+id/changeDate"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Click To Change Date" />
   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Current/Selected Date (M-D-YYYY): "
       android:textAppearance="?android:attr/textAppearanceLarge" />
  
   <TextView
       android:id="@+id/Output"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text=""
       android:textAppearance="?android:attr/textAppearanceLarge" />
 </LinearLayout>  

File : res/layout/main.xml

 
<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   <Buttonh
       android:id="@+id/changeDate"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Click To Change Date" />
   <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Current/Selected Date (M-D-YYYY): "
       android:textAppearance="?android:attr/textAppearanceLarge" />
  
   <TextView
       android:id="@+id/Output"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text=""
       android:textAppearance="?android:attr/textAppearanceLarge" />
 </LinearLayout

File : src/DatePickerExample.java

 
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.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
public class DatePickerExample extends Activity {
    private TextView Output;
    private Button changeDate;
    private int year;
    private int month;
    private int day;
    static final int DATE_PICKER_ID = 1111;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Output = (TextView) findViewById(R.id.Output);
        changeDate = (Button) findViewById(R.id.changeDate);
        // Get current date by calender
         
        final Calendar c = Calendar.getInstance();
        year  = c.get(Calendar.YEAR);
        month = c.get(Calendar.MONTH);
        day   = c.get(Calendar.DAY_OF_MONTH);
        // Show current date
         
        Output.setText(new StringBuilder()
                // Month is 0 based, just add 1
                .append(month + 1).append("-").append(day).append("-")
                .append(year).append(" "));
  
        // Button listener to show date picker dialog
         
        changeDate.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                 
                // On button click show datepicker dialog
                showDialog(DATE_PICKER_ID);
            }
        });
   }
     
    @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
        case DATE_PICKER_ID:
             
            // open datepicker dialog.
            // set date picker for current date
            // add pickerListener listner to date picker
            return new DatePickerDialog(this, pickerListener, year, month,day);
        }
        return null;
    }
    private DatePickerDialog.OnDateSetListener pickerListener = new DatePickerDialog.OnDateSetListener() {
        // when dialog box is closed, below method will be called.
        @Override
        public void onDateSet(DatePicker view, int selectedYear,
                int selectedMonth, int selectedDay) {
             
            year  = selectedYear;
            month = selectedMonth;
            day   = selectedDay;
            // Show selected date
            Output.setText(new StringBuilder().append(month + 1)
                    .append("-").append(day).append("-").append(year)
                    .append(" "));
     
           }
        };
}

No comments:

Post a Comment