728x90
순서
1. Calender 객체를 getInstatnce로 가져?옵니다
2. 해당 객체로 날짜, 시간 추출, 이때 반환타입은 int형 입니다
3. Date/TimePicker 객체 생성시 반환받은 날짜/시간을 넣어 Dialog를 생성합니다
4. .show()메서드로 화면에 띄웁니다
XML정의
btnDate를 누르면 DatePicker Dialog가 나타나고
btnTime을 누르면 TimePicker Dialog가 나타나도록 하겠습니다
Activity 정의
1313
public void onClick3(View view){
//private인 static메서드 getInstance를 이용 (싱글톤 패턴) == 생성된 객체가 하나
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Asia/Seoul"), Locale.KOREA);
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
int mHour = c.get(Calendar.HOUR_OF_DAY);
int mMinute = c.get(Calendar.MINUTE);
if(view == btnDate){
DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
btnDate.setText(i+"년 "+i1+"월 "+i2+"일");
}
}, mYear, mMonth, mDay);
datePickerDialog.show();
}else if(view == btnTime){
TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int i, int i1) {
btnTime.setText(i+"시 "+i1+"분");
}
}, mHour, mMinute,false);
timePickerDialog.show();
}
}
|
cs |
Caledar 객체는 싱글톤패턴으로 디자인되어 딱 한개만 존재할 수 있습니다
따라서 객체를 생성하지 않고 getInstance()메서드로 조작해야 합니다
.get메서드를 통해 날짜 시간 정보를 얻습니다
사용자가 btnDate를 터치했다면 DatePickerDialog객체를 생성합니다
이 때 날짜는 방금 얻은 정보로 설정하고 .show()메서드로 화면에 띄웁니다
btnTime의 경우도 같은 원리도 동작합니다
728x90
반응형
'Android프로그래밍 > 오늘의 공부' 카테고리의 다른 글
[Android]ProgressDialog 생성하기 (0) | 2022.05.10 |
---|---|
[Android]could not install Gradle distribution from 에러 해결방법 (0) | 2022.05.09 |
[Android]PopUpMenu 생성하기 (0) | 2022.05.08 |
[Android] 대화상자(Alter Dialog) 띄우기 (0) | 2022.05.04 |
[Android] 메뉴 생성하기 (0) | 2022.05.02 |
댓글