토글버튼으로 타이머 컨트롤하기
토글버튼으로 작동하는 타이머에 대한 예제는 인터넷에 많지만 제 마음에 드는건 찾기 힘들어서 이리저리 뜯어서 만들었습니다.
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()로 멈추게 할 수 있습니다.
'Creation > Programming' 카테고리의 다른 글
[Web] React로 보는 요즘 Web Front-end Style (0) | 2017.08.15 |
---|---|
변화하는 Cross-domain iframe 높이 자동 조절 (3) | 2016.03.18 |
Javascript class 기초 개념 (35) | 2016.03.14 |
[PHP] 간단한 Pager (3) | 2016.03.04 |
Google Appengine 시작하기 (0) | 2016.02.13 |
Socket Programming - BrowserClient.c (1) | 2014.07.13 |
Mesh-connected computer partial sum(부분합) (10) | 2014.04.27 |
간단한 명령에는 jQuery 종속에서 벗어나자 (7) | 2014.04.25 |
Import jQuery 2.x and 1.x according to IE version (0) | 2014.04.05 |
Bitonic Sort in Distributed Parallel Computer System (1) | 2014.03.21 |