delay중 버튼 + 리스트뷰 기능을 정지하고 싶습니다!!


안녕하세요~ 처음 안드로이드 어플을 만들어보고있는 초보 개발자 입니다...

이번에 만든 어플이 좀 무거운지 자꾸 뻑나서 중간중간 딜레이를 주니 이 문제는 해결됬는데

다른 문제가 생겨버렸습니다 ㅠㅠ

바로... 딜레이되고있는 도중 다른 버튼이나 리스트뷰 아이템을 누르면 그 동작을 실행해버려서 또다시 에러가 생긴다는 겁니다 ㅠㅠ

딜레이 하는동안 다른 모든 버튼 및 리스트뷰 아이템들이 비활성화 되는줄 알았는데...

뭔가 추가해야되는것 같지만 도저히 모르겠습니다...

구글에 검색해봐도 enable(false)를 사용하라 하는데 어디 어떻게 넣어야

버튼과 리스트뷰가 모두 비활성화 되는지 모르겠습니다....

제가 현재 delay 주고 있는 방법은...


import android.os.Handler;

public class Util {

    // Delay mechanism

    public interface DelayCallback{
        void afterDelay();
    }

    public static void delay(int secs, final DelayCallback delayCallback){
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                delayCallback.afterDelay();
            }
        }, secs * 100); // afterDelay will be executed after (secs*1000) milliseconds.
    }
}

========================================

위 0.1초단위로 delay를 줄수 있는 핸들러를 따로 만들어 놓고....

딜레이 넣고싶은 부분에.......

=========================================

    public void onButton06Clicked(View v) {

        Toast.makeText(MainActivity.this,"미니갤러리 페이지로 이동합니다...",
                Toast.LENGTH_LONG).show();

        int secs = 6; // Delay in seconds

        Util.delay(secs, new Util.DelayCallback() {
            @Override
            public void afterDelay() {
                // Do something after delay

                Intent intent = new Intent(getApplicationContext(), GalleryActivity.class);
                startActivity(intent);

            }
        });

    }

이런식으로 넣고 있습니다...

도움이 절실히 필요합니다 ㅠㅠ

부탁드립니다...


  • 올려주신 코드를 보면 딜레이로 문제를 해결하고자 하는 방법 자체가 잘못된 방향일 가능성이 굉장히 높습니다. 에러가 발생하는 근본적인 원인을 해결하는 것이 좋아 보이고요. 에러 발생 시 관련 코드와 함께 로그를 올려주시면 도움을 드릴 수 있을 것 같습니다.    한로니로니   2016.9.29 23:24     
조회수 92


로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close