편집 기록

편집 기록
  • 프로필 알 수 없는 사용자님의 편집
    날짜2016.09.29

    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);
    
                }
            });
    
        }
    

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

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

    부탁드립니다...