나는 같은 문제가 있었다. 여기에 내가 해결 한 방법이 있습니다.
1 단계 : 날짜 선택기를 열기위한 클릭 리스너를 선언합니다.
dateTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDateTimePicker();
}
});
2 단계 : 날짜 변경을 수신하는 리스너를 선언합니다.
public void showDateTimePicker(){
final Calendar currentDate = Calendar.getInstance();
date = Calendar.getInstance();
DatePickerDialog.OnDateSetListener dateSetListener = new
DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int
monthOfYear, int dayOfMonth) {
date.set(year, monthOfYear, dayOfMonth);
}
};
}
3 단계 : 이제 위의 showDateTimePicker () 메서드 내에서도 날짜 선택기 대화 상자를 선언해야합니다. 또한이 단계에서는 과거 날짜에 대한 액세스를 제한 할 것입니다.
public void showDateTimePicker(){
final Calendar currentDate = Calendar.getInstance();
date = Calendar.getInstance();
DatePickerDialog.OnDateSetListener dateSetListener = new
DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int
monthOfYear, int dayOfMonth) {
date.set(year, monthOfYear, dayOfMonth);
}
};
DatePickerDialog datePickerDialog = new
DatePickerDialog(**Your Activity Name.this**, dateSetListener,
currentDate.get(Calendar.YEAR),
currentDate.get(Calendar.MONTH),
currentDate.get(Calendar.DAY_OF_MONTH));
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
datePickerDialog.show();
}
이것이 당신이해야 할 전부입니다. 보고 싶은 최종 코드는 다음과 같습니다.
private Date date;
dateTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDateTimePicker();
}
});
public void showDateTimePicker(){
final Calendar currentDate = Calendar.getInstance();
date = Calendar.getInstance();
DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int monthOfYear, int dayOfMonth) {
date.set(year, monthOfYear, dayOfMonth);
}
};
DatePickerDialog datePickerDialog = new DatePickerDialog(**Your Activity Name.this**, dateSetListener, currentDate.get(Calendar.YEAR), currentDate.get(Calendar.MONTH), currentDate.get(Calendar.DAY_OF_MONTH));
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
datePickerDialog.show();
}
누군가에게 도움이되기를 바랍니다.