[안드로이드] 스낵바를 이용하여 데이터 삭제 복원 기능 만들기

0
post-thumbnail

일기장 앱 특성상 데이터를 실수로 삭제할 경우를 대비하여 데이터를 복원할 수 있는 로직이 있으면 좋겠다고 생각하여 작성했습니다.

삭제할 데이터를 따로 저장해놓고, 삭제 후 Snackbar 의 복원 버튼을 누르면 데이터를 다시 삽입하는 원리입니다.

다음 코드는 Snackbar를 이용하여 데이터를 삭제 후 다시 복원하는 코드입니다.

diaryAdapter.setOnItemClickListener { diary ->
    AlertDialog.Builder(context).setItems(words) { dialog, which ->
        when (which) {
            
            1 -> {
                Snackbar.make(requireView(), "데이터를 성공적으로 삭제했습니다.", Snackbar.LENGTH_LONG).apply {
                    viewModel.deleteDiary(diary)
                    setAction("복원") {
                        viewModel.saveDiary(diary)
                    }
                    show()
                }
            }
        }
    }.show()
}

0개의 댓글