Search code examples
androidandroid-datepicker

How to show last selected Date in EditText when select Date again?


enter image description hereHere is the source for selecting the date. It is working properly but I want to change date when selecting date again.

private int year;
private int month;
private int day;
         signup_bday=(EditText)findViewById(R.id.edittext_signup_birthday);
         signup_bday.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
             Calendar mcurrentDate=Calendar.getInstance();
                year=mcurrentDate.get(Calendar.YEAR);
                month=mcurrentDate.get(Calendar.MONTH);
                day=mcurrentDate.get(Calendar.DAY_OF_MONTH);

                DatePickerDialog mDatePicker=new       DatePickerDialog(CreateAccountActivity.this, new OnDateSetListener()
                {                  
                    public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) 
                    {
                     signup_bday.setText(new StringBuilder().append(month +  1).append("-").append(day).append("-").append(year).append(" "));
                    }
                },year, month, day);
                mDatePicker.setTitle("Please select date");                
                mDatePicker.show();
        }
    });

enter image description here


Solution

  • Ok, I solved your problem, Here is the code,

    public class MainActivity extends Activity 
    {
        private int year;
        private int month;
        private int day;
        private EditText signup_bday;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            signup_bday=(EditText)findViewById(R.id.edittext_signup_birthday);
            signup_bday.setOnClickListener(new OnClickListener() 
            {
                @Override
                public void onClick(View v) 
                {
                    Calendar mcurrentDate=Calendar.getInstance();
                    year=mcurrentDate.get(Calendar.YEAR);
                    month=mcurrentDate.get(Calendar.MONTH);
                    day=mcurrentDate.get(Calendar.DAY_OF_MONTH);
    
                    DatePickerDialog mDatePicker = new DatePickerDialog(MainActivity.this, new OnDateSetListener()
                    {                  
                        public void onDateSet(DatePicker datepicker, int selectedyear, int selectedmonth, int selectedday) 
                        {
                            year = selectedyear; 
                            month = selectedmonth; 
                            day = selectedday;
                            signup_bday.setText(new StringBuilder().append(month +  1).append("-").append(day).append("-").append(year).append(" "));
                        }
                    },year, month, day);
                    mDatePicker.setTitle("Please select date");                
                    mDatePicker.show();
                }
            });
        }
    }
    

    You just need to add following lines in onDateSet() method,

    year = selectedyear; 
    month = selectedmonth; 
    day = selectedday;