본문 바로가기

IT/Android

안드로이드 스튜디오 / 버튼 중복 클릭 방지하기 - api 중복 요청 없애자

반응형

모든 사용자가 버튼을 의도한대로 한번만 누르면 참 좋겠지만..

사용자를 다 통제할 수는 없었다.

버튼을 눌러 api를 요청하고, 응답을 기다리는 그 사이에 버튼을 한 번 더 클릭하여 api가 중복으로 호출되는 일이 발생했다.

 

해결방법은 다양하게 있을텐데 (interval 시간을 주는 등)

중복클릭 방지처리를 해야하는 버튼이 많아서 간단하게 enabled 설정값만 주었다.

fun btnClick(view: View){
	if(view.isEnabled){
   		api 호출 
    }
    view.isEnabled = false
}

dataBinding을 사용해서, viewModel에서 버튼 클릭 함수를 다뤄줬다.

버튼이 isEnabled이 true인 경우에만 호출을 해주었고, 클릭 이벤트가 생기면 isEnabled를 false로 바꿔주었다