para - manual de programacion android pdf
Cómo mostrar DatePickerDialog en el botón, haga clic en? (4)
El siguiente código funciona ...
datePickerButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(0);
}
});
@Override
@Deprecated
protected Dialog onCreateDialog(int id) {
return new DatePickerDialog(this, datePickerListener, year, month, day);
}
private DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int selectedYear,
int selectedMonth, int selectedDay) {
day = selectedDay;
month = selectedMonth;
year = selectedYear;
datePickerButton.setText(selectedDay + " / " + (selectedMonth + 1) + " / "
+ selectedYear);
}
};
Estoy desarrollando una aplicación que requiere que el usuario seleccione la fecha (dd / mm / aaaa). Quiero mostrar un cuadro de diálogo con DatePicker al hacer clic en el botón. una vez que se selecciona la fecha, debe aparecer en EditText.
Estoy usando Android Studio 2.2, proyecto con min sdk es 23.
Amablemente ayúdame a hacer el código requerido.
esto funciona para mi. si desea habilitar el tiempo futuro para elegir, debe eliminar maxDate.
btnDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getSupportFragmentManager(), "datePicker");
}
});
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, year, month, day);
dialog.getDatePicker().setMaxDate(c.getTimeInMillis());
return dialog;
}
public void onDateSet(DatePicker view, int year, int month, int day) {
btnDate.setText(ConverterDate.ConvertDate(year, month + 1, day));
}
}
I. En su build.gradle agregue la última biblioteca de appcompat, en ese momento 24.2.1
dependencies {
compile ''com.android.support:appcompat-v7:X.X.X''
// where X.X.X version
}
II. Haga que su actividad amplíe android.support.v7.app.AppCompatActivity
e implemente la interfaz DatePickerDialog.OnDateSetListener
.
public class MainActivity extends AppCompatActivity
implements DatePickerDialog.OnDateSetListener {
III. Cree su DatePickerDialog
estableciendo un contexto, la implementación del oyente y el año de inicio, el mes y el día del selector de fecha.
DatePickerDialog datePickerDialog = new DatePickerDialog(
context, MainActivity.this, startYear, starthMonth, startDay);
IV. Muestre su diálogo en el oyente de evento click de su botón
((Button) findViewById(R.id.myButton))
.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
datePickerDialog.show();
}
});
DatePickerDialog StartTime = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, monthOfYear, dayOfMonth);
activitydate.setText(dateFormatter.format(newDate.getTime()));
}
}, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
btn_checkin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StartTime .show():
});