본 포스트는 Todo List 앱을 만들어보자! - 6 에 이어지는 글입니다.
Todo List 앱 만들기 포스트가 벌써 7편까지 왔네요..!
지금까지 할 일 추가, 수정, 읽기 작업을 하였습니다.
마지막으로 삭제 기능을 개발하도록 하겠습니다!
삭제는 AppBar에서 메뉴를 이용하려고 합니다.
체크된 항목을 한번에 모두 삭제하도록 하는 코드를 작성해봅시다
menu 디렉토리를 하나 생성하고 menu_option.xml을 하나 생성해줍시다!
menu_option.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item_delete"
android:title="선택항목 삭제"
/>
</menu>
아이템은 삭제 하나만 만들도록 하겠습니다.
이제 MainActivity에서 menu 기능을 활성화 시키도록 하겠습니다.
MainActivity.kt
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.menu_option, menu)
return super.onCreateOptionsMenu(menu)
}
AppBar 우상단에 메뉴표시가 나타난 것을 확인할 수 있을거에요!
이제 정말 마지막입니다!
메뉴에 나타난 아이템의 클릭 이벤트를 처리하도록 할게요
MainActivity.kt
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when(item?.itemId) {
R.id.menu_item_delete -> {
Toast.makeText(this, "삭제", Toast.LENGTH_SHORT).show()
todoViewModel.todoList.value!!.forEach {
if (it.isChecked) {
todoViewModel.delete(it)
}
}
return true
}
}
return super.onOptionsItemSelected(item)
}
삭제 작업 역시 todoViewModel을 통해 진행됩니다.
목록 중 체크된 항목을 모두 삭제하도록 하였습니다.
그럼 삭제를 해보겠습니다.
정상적으로 삭제가 되네요!
데이터베이스 내에서도 삭제가 된 것을 확인하였습니다
이로써 Todo List 개발기가 끝이 났습니다
설명이 부족한 부분이 많았는데, 스스로 학습하여 깨우치는 것도 좋은 공부가 될 것이라 생각합니다..!
본 포스트를 통해 안드로이드/코틀린 개발에 좀 더 친근해졌으면 해요
그럼 이상으로 [Todo List 앱 만들기]를 마치도록 하겠습니다!
'SW > 개발' 카테고리의 다른 글
[Spring] 스프링 DI - 의존관계 주입 (0) | 2022.04.21 |
---|---|
[NFT] 블록체인 네트워크 사용해보기 (MetaMask) (0) | 2022.02.21 |
[Android/Kotlin] Todo List 앱을 만들어보자! - 6 (할 일 수정) (0) | 2021.11.19 |
[Android/Kotlin] Todo List 앱을 만들어보자! - 5 (목록 불러오기) (1) | 2021.11.18 |
[Android/Kotlin] Todo List 앱을 만들어보자! - 4 (할 일 추가) (0) | 2021.11.17 |
댓글