When I open my DataPickerDialog
I get the wrong date, exactly 9/8/21, how can I make it default by today? However in my EditText
by default the date of today's date comes out.
My code:
public class Main2Activity extends AppCompatActivity {
private TextView editTextFecha;
private int dia, mes, ano, hora, minutos;
private static final int TIPO_DIALOGO = 0;
private static DatePickerDialog.OnDateSetListener selectorFecha;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
editTextFecha = (TextView) findViewById(R.id.editTextFecha);
Calendar calendario = Calendar.getInstance();
dia = calendario.get(Calendar.DAY_OF_MONTH);
mes = calendario.get(Calendar.MONTH);
ano = calendario.get(Calendar.YEAR);
hora = calendario.get(Calendar.HOUR_OF_DAY);
minutos = calendario.get(Calendar.MINUTE);
mostrarFecha();
selectorFecha = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
dia = dayOfMonth;
mes = month;
ano = year;
mostrarFecha();
mostrarHora();
}
};
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0:
return new DatePickerDialog(this, selectorFecha, dia, mes, ano);
}
return null;
}
public void mostrarCalendario(View control) {
showDialog(TIPO_DIALOGO);
}
public void mostrarFecha() {
editTextFecha.setText(dia + "/" + (mes + 1) + "/" + ano + " " + hora + ":" + String.format("%02d", minutos));
}
private void mostrarHora() {
TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
hora = hourOfDay;
minutos = minute;
mostrarFecha();
}
}, hora, minutos, true);
timePickerDialog.show();
}
}