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

버튼을 빠르게 누르면 창이 두번 뜹니다.

0 추천
버튼을 누르면 다른 액티비티로 이동하는 건데.

버튼을 빨리 누르면 같은 액티비티가 7개까지 뜹니다.

버튼을 많이 눌려도 한번만 실행되게 할려면 어떻게 해야하나요??
회색까마귀 (210 포인트) 님이 2014년 3월 6일 질문

1개의 답변

0 추천
 
채택된 답변
7번이나 누를 때까지 화면 전환이 안되다니..!? 요즘에는 그 정도의 테스트 단말이 없을텐데 '-';; 뭔가 작업량이 많은 건가 ㅎㅎ

아무튼 방법은 여러가지 있겠지만 버튼 클릭 시 인텐트 호출하고 버튼의 속성을 변경해서 막는 방법이 가장 쉬울 것 같네요?

disable 상태로 만든다거나 clickable 을 못하게 한다거나 아예 gone 시켜버린다거나 등등
초보개발자ㅠ (33,870 포인트) 님이 2014년 3월 6일 답변
회색까마귀님이 2014년 3월 6일 채택됨
밑단에서 gl이 돌아가서 좀 무겁습니다.
일단 startActivity 한수에 버튼을 disable 하는 쪽으로 해야겠네요..
감사합니다.
헐... 버튼을  disable 시키다니.. 색다른 방법이네요.
보통은
Handler의 sendMessageDelayed를 이용합니다.
void onClickButton()
{
Message msg = mHandler.obtainMessage(0);
mHandler.removeMessages(0); // 기존 입력 제거
mHandler.sendMessageDelayed(msg, 1000);
}
private Handler mHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
        // 새로운 Activity 띄움
    }
}
좋은 방법이네요! 어지간해서는 화면이동시 버튼을 여러번 누를 수 있는 상황이 없어서 깊게 생각해본적이 없었어요~ '-' 글쓴이님 질문보고 테스트해봤더니 중복호출이 되네요 ㅋㅋ 저도 많이 배워갑니당 ^^
잘 보았습니다. 근데 위 방법으로 하면 가장 나중에 클릭한 액션이 실제적으로 적용이 되겠네요. 가장 먼저 클릭한 액션만 적용되게 하는 또다른 방법은 없을까요? 위에서 말한 disable, clickable 같은 방법 말구요. ^^
...