이번 시간에는 DatePicker 컴포넌트를 화면에 태그로
보여주는 방법이 아니라 버튼을 누르면 코드에서 호출
하는 방법을 알아보겠습니다.
- 설명 -
1. 텍스트뷰(TextView)와 버튼(Button)으로 구성된 화면입니다.
2. 텍스트뷰(TextView)는 선택한 날짜를 보여줍니다.
3. 버튼을 누르면 달력(DatePickerDialog)이 호출되며,
날짜를 선택하면 텍스트뷰(TextView)에 보입니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/date_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Select Date"
android:textSize="40sp" />
<Button
android:id="@+id/date_picker_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="달력" />
</LinearLayout>
- 설명 -
1. DatePickerDialog를 통해 달력을 호출합니다.
2. DatePickerDialog를 호출하기 위해 필요한
매개변수는 달력을 보여줄 화면(MainActivity), 날짜(년, 월, 일)
이 필요합니다.
3. Calendar클래스를 통해서 현재 년, 월, 일을 얻어 변수에 담아
매개변수로 넘겼습니다.
4. Show() 메서드를 통해 DatePickerDialog를 호출합니다.
public class MainActivity extends AppCompatActivity {
TextView dateText;
DatePickerDialog datePickerDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//텍스트뷰 변수에 담기
dateText = findViewById(R.id.date_text_view);
//버튼 변수에 담기
Button datePickerBtn = findViewById(R.id.date_picker_btn);
//버튼 클릭 이벤트 설정
datePickerBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//오늘 날짜(년,월,일) 변수에 담기
Calendar calendar = Calendar.getInstance();
int pYear = calendar.get(Calendar.YEAR); //년
int pMonth = calendar.get(Calendar.MONTH);//월
int pDay = calendar.get(Calendar.DAY_OF_MONTH);//일
datePickerDialog = new DatePickerDialog(MainActivity.this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
//1월은 0부터 시작하기 때문에 +1을 해준다.
month = month + 1;
String date = year + "/" + month + "/" + day;
dateText.setText(date);
}
}, pYear, pMonth, pDay);
datePickerDialog.show();
} //onClick
});
}//onCreate
}//MainActivity
2022.01.11 - [안드로이드] - [안드로이드] Material DatePicker 달력(캘린더) 만드는 방법
2022.01.27 - [안드로이드] - [안드로이드] 밀어서 날짜 변경하는 달력(SlideDatePicker) 쉽게 만드는 방법
[안드로이드] Firebase Realtime Database ListView JSON 읽기, 쓰기 part2 (0) | 2022.03.10 |
---|---|
[안드로이드] Firebase 시작하기 실시간 데이터베이스 Realtime Database (간단한 데이터 읽기, 쓰기) part1 (0) | 2022.03.09 |
[안드로이드] 버튼이 보라색으로 고정된 상황 쉽게 해결하는 방법 (0) | 2022.03.07 |
[안드로이드] SQLite RecyclerView 연락처 만드는 방법 part5 - 삭제 (0) | 2022.03.06 |
[안드로이드] SQLite RecyclerView 연락처 만드는 방법 part4 - 수정 (0) | 2022.03.05 |
댓글 영역