Listview의 내용물로 사용되는 ArrayList의 목록/내용이 변경되면, listview에 연결된 Adapter에게, 변경사항을 반영해달라고 요청해야 함(새로고침)
=> 내용 변경 : 목록 삭제 / 추가 / 일부 변경
사용법
// 내용물 변경 코드 실행 시점 바로 뒤에
어댑터변수.notifyDataSetChanged()
특이사항
- ArrayList의 내용물에 변경을 준다면, 습관적으로 같이 적어주자.
=> 목록의 내용물이 변경되었는데 어댑터가 인지 못한채로 놔두면, 다음 터치에서 앱이 죽음 - 어댑터변수의 새로고침 기능은 많은 곳에서(다양한 함수에서) 사용하게 됨
=> 어댑터 변수는 Activity 내부의 어느곳에서라도 사용할 수 있도록, 멤버변수로 만드는 게 유리
=> 멤버변수 단에서는 어댑터변수의 초기화가 불가능
=> 번거로워도, lateinit var를 사용해서 멤버변수로 만드는 이유
viewBinding.studentListView.setOnItemLongClickListener { parent, view, position, id ->
mStudentList.removeAt(position)
mAdapter.notifyDataSetChanged() // 새로고침
return@setOnItemLongClickListener true
}
참고 : class101+ 코딩티처 지니 강의
'Android' 카테고리의 다른 글
[Android] Handler로 로딩 화면 만들기 (5) | 2023.01.01 |
---|---|
[Android] AlertDialog (0) | 2022.12.31 |
[Android] 리스트뷰 Listview 이벤트 처리(item click event) (0) | 2022.12.31 |
[Android] 리스트뷰 Listview 기초(생성부터 적용까지) (0) | 2022.12.31 |
[Android] dial, call, sms, web, playstore 액션 예제 (0) | 2022.12.29 |