안 드 로 이 드 차단 단 추 를 연속 으로 클릭 한 예제 코드

안 드 로 이 드 개발 에서 많은 버튼 의 클릭 을 피 할 수 없습니다.사용자 가 고의로 하 는 것 을 방지 하기 위해 계속 버튼 을 클릭 하여 짧 은 시간 에 불필요 한 요청 이 너무 많 거나 여러 개의 페이지 를 뛰 어 넘 는 문제 가 발생 할 수 있 습 니 다.클 라 이언 트 는 클릭 동작 에 대해 차단 처 리 를 해 야 합 니 다.즉,짧 은 시간 안에 연속 클릭 하 는 것 을 차단 해 야 합 니 다.(물론 이 는 상기 문제 의 발생 을 최대한 줄 이 고 손 속도 가 빠 른 경우 에 도 나타 날 수 있다)
정확 한 코드:

abstract class OnMultiClickListener(private val interval: Long = MULTI_CLICK_INTERVAL): View.OnClickListener {
  private companion object {
    private const val MULTI_CLICK_INTERVAL = 500L
  }
 
  private var mLastClickTime = 0L
 
  abstract fun onMultiClick(v: View?)
 
  final override fun onClick(v: View?) {
    v.runSafety {
      val currentTime = System.currentTimeMillis()
      //  ,        
      if (abs(currentTime - mLastClickTime) < interval) {
        mLastClickTime = currentTime //   
        return
      }
  
      mLastClickTime = currentTime //   
 
      onMultiClick(v)
 
    }
  }
}
주의 점: 
1.간격 을 너무 길 게 설정 하면 시각 적 으로 클릭 이 끊 기 는 현상 을 초래 할 수 있 습 니 다.
2.시스템 시간 을 수정 하면 시간 판단 에 문제 가 생 겨 버튼 클릭 에 응답 이 없 을 수 있 습 니 다.그러므로 반드시 절대 치 로 비교 해 야 한다.
3.두 곳 의 할당 위치 에 주의
안 드 로 이 드 차단 버튼 을 연속 으로 클릭 하 는 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 안 드 로 이 드 차단 버튼 을 연속 으로 클릭 하 는 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 저 희 를 많이 사랑 해 주세요!

좋은 웹페이지 즐겨찾기