마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

먼저 시간지연을 주는게 아니라 함수 실행후 시간지연을 줄수있나요?

0 추천
A()함수를 먼저 실행후 5초의 시간지연을 주고 싶은데

검색을 해봐도 실행후 5초 지연을 주는게 없네요.

제가 구현하고 싶은것은

A()함수를 먼저 실행후 5초안에 재실행을 막기 위해서거든요.

그리고 A()함수 실행후 바로 홈키를 눌러서도 백그라운드에서도

그 5초의 시간이 진행되게 할수 있을까요?
==============

아래 소스도 5초 지연뒤에 A()를 호출하는것으로 알고있습니다. ㅜ
new Handler ().postDelayed (new Runnable() {
                public void run() {
                    A();          
                  //실행한다.

                }
            }, 5000);
엔조이AD (2,610 포인트) 님이 2018년 1월 16일 질문

1개의 답변

+1 추천
long lastClickedTime = 0;
long deleyTime = 5000;
        
public void timeCheck(long nowTime)
{
    if(lastClickedTime == 0){ //처음클릭
        lastClickedTime = nowTime;
        A(); // 요기서 A실행
    }else{
        if(lastClickedTime + deleyTime < nowTime){ // 5초 검증
            Toast.makeText(this, "아직 5초 안지남", Toast.LENGTH_LONG).show();
        }else{
            lastClickedTime = nowTime;
            A(); // 요기서 A실행                
        }
    }        
}
익명사용자 님이 2018년 1월 16일 답변
2018년 1월 16일 수정
nowTime에는 현재시간 TimeStamp값을 넘겨야해용, 급조해서 엉성해요 조금 다듬어서 사용해보세용
너무 너무 감사합니다 ㅠㅠㅠㅠ
...