Як отримати дату, яка була змінена в datepicker

Розробляю додаток, який спочатку отримує поточну дату з DatePicker за допомогою "Calendar.getInstance ()", після чого користувач змінює дату. Як я можу отримати нову дату після її зміни?

0
ви маєте на увазі, що користувач хоче вибрати дату з збирача дат.
додано Автор RajaReddy PolamReddy, джерело
див. мою відповідь.
додано Автор RajaReddy PolamReddy, джерело
@PolamReddyRajaReddy Так ви маєте рацію, а не з діалогового вікна datepicker
додано Автор User210282, джерело

2 Відповіді

обтяжувати це.

private static final int DATE_DIALOG_ID = 0;

додати це кодування в onCreate ()

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

   //get the current date      
    mYear = c.get(Calendar.YEAR);
    mMonth = c.get(Calendar.MONTH);
    mDay = c.get(Calendar.DAY_OF_MONTH); 
    String da = Integer.toString(mMonth)+"/"+Integer.toString(mDay)+"/"+Integer.toString(mYear);
    date_text.setText(da);

і це є стороною onCreate ()

 private DatePickerDialog.OnDateSetListener mDateSetListener =
    new DatePickerDialog.OnDateSetListener() {
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
        mYear = year;
        mMonth = monthOfYear;
        mDay = dayOfMonth;
        String selectedDate = Integer.toString(mMonth)+"/"+Integer.toString(mDay)+"/"+Integer.toString(mYear);
        date_text.setText(selectedDate);
        System.out.println("selected date is:"+selectedDate);
    }
};

@Override
protected Dialog onCreateDialog(int id)  {
    switch (id) {

    case DATE_DIALOG_ID:
        return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay);        
    }
    return null;
}
0
додано
Спасибі, я спробую цей код і оновити
додано Автор User210282, джерело
Calendar cal = Calendar.getInstance();

DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener(){
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                cal.set(Calendar.YEAR, year);
                cal.set(Calendar.MONTH, monthOfYear);
                cal.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            }
        };
        return new DatePickerDialog(this, listener, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));

І щоб отримати дату як рядок (п'ятниця, 28/10/2011 15: 59: 00: 0)

SimpleDateFormat sdfDate = new SimpleDateFormat("EEEE, d/M/yyyy HH:mm:ss:S");
String date = sdfTime.format(new Date(cal.getTimeInMillis()));
0
додано
Так, просто змініть DatePickerDialog на DatePicker.
додано Автор Carnal, джерело
Однак, якщо це не так, просто скористайтеся DataPickerDialog, це найпоширеніша.
додано Автор Carnal, джерело
Фактично DatePicker завжди відображатиметься як діалогове вікно, якщо ви подивитеся на це: developer.android.com/resources/tutorials/views/…
додано Автор Carnal, джерело
Спасибі, але чи добре це працює з datepicker? Як ваш код говорить DatePickerDialog
додано Автор User210282, джерело
android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.