-2
아래 예제에서 handler.postDelayed를 중지 할 수 없습니다. 그것은 단순히 일초 후 기능을 계속하고 스위치가 꺼져있을 때 멈추지 않는다 :Android : Handler.postDelayed가 중지되지 않음
mySwitch.setChecked(false);
mySwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
final Handler handler = new Handler();
final Runnable r = new Runnable() {
public void run() {
myClient.SendData("AA");
handler.postDelayed(this, 1000);
}
};
if (isChecked){
handler.postDelayed(r, 1000);
}
else {
handler.removeCallbacks(r);
}
}
});