Android 如何在当前日期启动DatePickerDialog?

Android 如何在当前日期启动DatePickerDialog?,android,datepicker,Android,Datepicker,我有一种方法可以使用日历返回当前日期,如下所示: Calendar calendar = Calendar.getInstance(); dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK); dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH); month = calendar.get(Calendar.MONTH); year = calendar.get(Calen

我有一种方法可以使用日历返回当前日期,如下所示:

    Calendar calendar = Calendar.getInstance();
    dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
    dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
    month = calendar.get(Calendar.MONTH);
    year = calendar.get(Calendar.YEAR);
另一方面,我有一个日期选择器对话框,需要更新以前的值

private void launchDatePicker() {
    final Calendar calendar = Calendar.getInstance();
    int nuevoDia = calendar.get(Calendar.DAY_OF_MONTH);
    int nuevoDiaSemana = calendar.get(Calendar.DAY_OF_WEEK);
    int nuevoMes = calendar.get(Calendar.MONTH);
    int nuevoAño = calendar.get(Calendar.YEAR);

    DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int nuevoAño, int nuevoMes, int nuevoDia) {
            //int nuevoDiaSemana = calendar.get(Calendar.DAY_OF_WEEK);
            dayOfMonth = nuevoDia;
            month = nuevoMes;
            year = nuevoAño;
            fechaActual(dayOfWeek, dayOfMonth,month);
            ajustarFormatoFecha();
            readFromDichos();
            faseLunar();


        }
    }
    ,nuevoDia,nuevoMes,nuevoAño);
    datePickerDialog.show();
}
问题是这个日期选择器总是在1900年开始。如何在当前日期开始

如何使用日期选择器对话框获取星期几


提前感谢

您将错误的参数传递给了
DatePickerDialog
as

nuevoDia,nuevoMes,nuevoAño

应该是:
nuevoAño、nuevoMes、nuevoDia

您可以执行以下操作:

private void launchDatePicker() {
    Calendar c = Calendar.getInstance();
    int mYear = c.get(Calendar.YEAR); 
    int mMonth = c.get(Calendar.MONTH);
    int mDay = c.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int nuevoAño, int nuevoMes, int nuevoDia) {
            //int nuevoDiaSemana = calendar.get(Calendar.DAY_OF_WEEK);
            dayOfMonth = nuevoDia;
            month = nuevoMes;
            year = nuevoAño;
            fechaActual(dayOfWeek, dayOfMonth,month);
            ajustarFormatoFecha();
            readFromDichos();
            faseLunar();


        }
    }
    , nuevoAño, nuevoMes, nuevoDia); // <----- correct arguments ------
    datePickerDialog.show();
}
private void launchDatePicker(){
Calendar c=Calendar.getInstance();
int mYear=c.get(日历年);
int mMonth=c.get(日历月);
int mDay=c.get(日历,月的第天);
DatePickerDialog DatePickerDialog=new DatePickerDialog(这是new DatePickerDialog.OnDateSetListener(){
@凌驾
公共void onDateSet(日期选择器视图、新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良新奥尔良){
//int nuevoDiaSemana=calendar.get(calendar.DAY/u/u周);
月日=新风;
月=新元素;
年份=新瓦诺;
fechaActual(星期几、月几、月);
ajustarFormatoFecha();
readFromDichos();
faselonar();
}
}
,新瓦诺,新瓦努姆斯,新瓦努迪亚);//FYI:


谢谢Waqar。我会试试。顺便说一句,你知道如何从datePicker获取DAYOFWEEK吗?@Toni我希望你看起来像这样,我希望它能工作,否则让我知道:)谢谢Waqar,但即使它看起来不太受欢迎,它也会以我的Android系统的语言返回一个日期名称字符串,这对我来说没有用,因为我需要介于1和7之间的整数,这样我就可以用任何语言确定。
private void launchDatePicker() {
    final Calendar calendar = Calendar.getInstance();
    int nuevoDia = calendar.get(Calendar.DAY_OF_MONTH);
    int nuevoMes = calendar.get(Calendar.MONTH);
    int nuevoAño = calendar.get(Calendar.YEAR);

    DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
        @Override
        public void onDateSet(DatePicker view, int nuevoAño, int nuevoMes, int nuevoDia) {
            //int nuevoDiaSemana = calendar.get(Calendar.DAY_OF_WEEK);
            dayOfMonth = nuevoDia;
            month = nuevoMes;
            year = nuevoAño;
            Calendar c = calendar.getInstance();
            c.set(year,month,dayOfMonth);
            int nuevoDiaSemana = c.get(Calendar.DAY_OF_WEEK);
            dayOfWeek = nuevoDiaSemana;
            fechaActual(dayOfWeek, dayOfMonth,month);
            ajustarFormatoFecha();
            readFromDichos();
            faseLunar();
        }
    }
    ,nuevoAño,nuevoMes,nuevoDia);
    datePickerDialog.show();
}