[안드로이드] 토글 버튼으로 타이머 작동/중지 컨트롤하기

Posted by Readiz
2014.10.31 18:04 Creation/Programming


토글버튼으로 타이머 컨트롤하기



  토글버튼으로 작동하는 타이머에 대한 예제는 인터넷에 많지만 제 마음에 드는건 찾기 힘들어서 이리저리 뜯어서 만들었습니다.

  activity_main.xml에 버튼을 만들고(여기서는 btnRecord라는 이름을 사용하였습니다), MainActivity class의 oncrete 메소드에서 다음과 같이 작성합니다.




final Button btnRecord = (Button) findViewById(R.id.btnRecord);
btnRecord.setOnClickListener(new Button.OnClickListener() {
    @Override
    public void onClick(View v) {
        if (btnRecord.getText().equals("Record")) {
            timer = new Timer();
            timer.schedule(new TimerTask() {
                @Override
                public void run() {
                    // To do



                }
            }, 0, 1000);
            btnRecord.setText("Stop");
        } else {
            timer.cancel();
            timer = null;
            btnRecord.setText("Record");
        }
    }
});


  run 사이에 원하는 구문을 작성하시면 됩니다. 일반 버튼을 토글버튼으로 작동하게 한 것이라서 조금 모양새가 안나기는 하지만 작동에는 지장없습니다.

  참고로 timer 객체의 schedule 메소드는 다음과 같이 사용합니다.


timer.schedule(TimerTask객체, 지연시간, 타이머가 반복될 시간);


  지연시간은 최초에 1번 실행되기 전에 대기하는 시간이고, 그 뒤에 반복될 시간을 3번째 변수가 정해준다고 보면 되겠네요. 이렇게 동작중인 타이머는 timer.cancel()로 멈추게 할 수 있습니다.



저작자 표시 비영리 변경 금지
신고
이 댓글을 비밀 댓글로
  1. 이런 소스같은거 블로그에 작성할때 어떤 에디터를 이용햐야되나요?
  2. http://menfashion.tistory.com/category/남성%20패션

    능력자분들 죄송하지만 제 카달로그 좀 진단부탁 드립니다. ㅠㅠ
  3. 감사합니다.
  4. 블로그에 라이브리 댓글 달수 있는 방법 없나요?
    적용했더니 나왔다가 없어졌다가 막그러네요..
    모바일로는 잘보이는듯하지만.. pc에선 이상해욤

티스토리 툴바