Search code examples
androiddateandroid-datepicker

Set date in Date picker


I have a date in my button (5-12-2031) when i click the button i want to show date picker with date what i have in my button. In Stackoverflow i found to set the time pickerAndroid: Setting time in time picker with the time shown in text view i tried the same but the date picker not shown.

My code is:

Calendar mDateCalender = Calendar.getInstance();
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.add_details_main_layout);


    date.setOnClickListener(new onClickListener) {
    public void onClick(){

    new DatePickerDialog(AddDetailsActivity.this, onDateListener,
                        mDateCalender.get(Calendar.YEAR), mDateCalender.get(Calendar.MONTH),
                        mDateCalender.get(Calendar.DAY_OF_MONTH)).show();
    }
    }
}


 DatePickerDialog.OnDateSetListener onDateListener = new OnDateSetListener() {

    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        date.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year);

        String dateFormat = mOfflineDatas.get(0).getOnsket_utfort();
        String[] getDates = dateFormat.split("-");

        Toast.makeText(getApplicationContext(), "" + dateFormat, Toast.LENGTH_LONG).show();

        mDateCalender.set(Calendar.DAY_OF_MONTH, Integer.valueOf(getDates[0]));
        mDateCalender.set(Calendar.MONTH, Integer.valueOf(getDates[1]));
        mDateCalender.set(Calendar.YEAR, Integer.valueOf(getDates[2]));

    }
};

my dateFromat = 5-12-2013 it splits correctly.

What change i need to change in this anybody suggest some ideas..


Solution

  • this may help you...

    yourButton.setOnClickListener(new View.OnClickListener() {
    
        @Override
        public void onClick(View v) {
            showDatePickerDialog(yourButton.getText().toString());
        }
    });
    
    private void showDatePickerDialog(String date) {
        // here date is 5-12-2013
        String[] split = date.split("-");
        int day = Integer.valueOf(split[0]);
        int month = Integer.valueOf(split[1]);
        int year = Integer.valueOf(split[2]);
        OnDateSetListener dateSetListener = new OnDateSetListener() {
    
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear,
                    int dayOfMonth) {
                // TODO Auto-generated method stub
    
            }
        };
    
        DatePickerDialog datePickerDialog = new DatePickerDialog(this,
                dateSetListener, year, month, day);
        datePickerDialog.show();
    }