8A52
8A52

Reputation: 793

inline datepicker in android

I am developing an android app in which I have to collect date of birth in a form So I used a textview with a datepicker as shown below

enter image description here

I want to pick date from it and store it in form of ints like month,day,year. I tried many examples but all deal with dialog box. None of them showed using the datepicker inline :-( Please kindly help me out.

Upvotes: 0

Views: 2485

Answers (2)

Kris
Kris

Reputation: 470

In the below example I attached the functionality of change the date onClick of the EditText. Similarly, if you have a button to save you can attache this functionality to save the date in the required format. Just to get the date, month and year use the below methods:

datePicker.getYear(),getMonth(), getDayOfMonth().

Note that you need to add 1 to get the correct month as Java Month representation is a little different. the mapping goes like this - 0-Jan, 1-Feb ... 11-Dec.

private TextView mDateDisplay;
private DatePicker mDatePicker;
private int mYear;
private int mMonth;
private int mDay;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    mDateDisplay = (TextView)findViewById(R.id.datevalue);
    mDatePicker = (DatePicker)findViewById(R.id.datepicker1);
    mDateDisplay.setOnClickListener(new View.OnClickListener() {
        
        @Override
        public void onClick(View v) {
            mYear = mDatePicker.getYear();
            mMonth = mDatePicker.getMonth();
            mDay = mDatePicker.getDayOfMonth();
            
            mDateDisplay.setText(new StringBuilder()
            // Month is 0 based so add 1
            .append(mMonth + 1).append("-")
            .append(mDay).append("-")
            .append(mYear).append(" "));
        }
    });

Upvotes: 0

Jeff Gilfelt
Jeff Gilfelt

Reputation: 26149

Just use the getYear(), getMonth() and getDayOfMonth() methods:

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

int year = datePicker.getYear();
int month = datePicker.getMonth();
int day = datePicker.getDayOfMonth();

Upvotes: 1

Related Questions