android.widget.Switch- 开/关事件监听

我想实现一个开关按钮事件android.widget.Switch (适用于 API v.14)

<Switch
    android:id="@+id/switch1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Switch" />

但是如何给按钮添加一个事件监听器。是一个 "onclick" 监听器吗?如何触发“开”或者“关”事件?

switch1.setOnCheckedChangeListener(new OnCheckedChangeListener() {  

        @Override  
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {  
            if(isChecked) {  
                //选中时 do some thing   
            } else {  
                //非选中时 do some thing     
            }  

        }  
    });

onclick()方法里面可以定义一个boolean flag,

if(flag){ 
 //do 
 flag = false;
}else{ 
// do else
 flag =true;
}