본문 바로가기
SW/개발

[Android/Kotlin] Todo List 앱을 만들어보자! - 7 (할 일 삭제)

by PEKAH 2021. 11. 20.

본 포스트는 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 앱 만들기]를 마치도록 하겠습니다!

 

 

 

댓글