Notice
Recent Posts
Recent Comments
Link
정답보다 해답을
[Android] SwipeRefreshLayout 새로고침 구현 본문
문제점
Firebase에서 제공하는 addValueEventListener()를 사용하여 데이터를 읽어오니
실시간으로 받아오기 때문에 내 프로젝트 요구사항에는 맞지 않는다고 판단했다.
여러 사용자가 게시글을 작성하면 실시간으로 업데이트 되는 현상이 불편함을 줄 수 있음.
그래서 addListenerForSingleValueEvent()를 사용하기로 했다.
둘의 차이점은 실시간 데이터를 읽어오기와 한번만 읽어오기이다.
해결방안
우선 화면을 구성할때 데이터를 한 번 읽어오고 새로고침하여 데이터를 새로 받오도록 구현해야겠다!
사용방법
// Swipe
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
SwipeRefeshLayout을 사용하기 위해서는 아래 종속성을 build.gradle(. app) dependencies의 추가해주어야 한다.
그리고 레이아웃의 최상단 태그를 스와이프로 변경해주면 된다.
binding.refreshLayout.setOnRefreshListener {
loadPostData()
binding.refreshLayout.isRefreshing = false
}
레이아웃의 id를 정의하고,
setOnRefreshListener를 통해 스와이프시 실핼할 이벤트를 정의할 수 있다.
나는 데이터를 불러오는 것을 넣어주었다.
여기서 isRefreshing = false 를 해주지 않으면 새로고침이 계속 돌아가니 주의하자!!
'Android' 카테고리의 다른 글
[Android] [멋쟁이 사자처럼] Menifest, 앱의 자기소개서 (1) | 2024.10.19 |
---|---|
[Android] [멋쟁이 사자처럼 앱스쿨] 안드로이드 4대 컴포넌트와 인텐트 🌐 (1) | 2024.10.19 |
[Android] Spannable과 정규식으로 해시태그 기능 만들어보기 (0) | 2024.10.19 |
[Android] EditText 선택 시 버튼이 올라오는 현상은 왜 그럴까? (1) | 2024.03.12 |
[Android] [NaverAPI] [ERROR] NoClassDefFoundError 해결 (0) | 2024.03.09 |