Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 package eu.intermodalics.tango_ros_streamer.android;
00018
00019 import android.content.Context;
00020 import android.preference.SwitchPreference;
00021 import android.util.AttributeSet;
00022 import android.view.View;
00023 import android.view.ViewGroup;
00024 import android.widget.Switch;
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 public class CustomSwitchPreference extends SwitchPreference {
00035
00043 public CustomSwitchPreference(Context context, AttributeSet attrs, int defStyle) {
00044 super(context, attrs, defStyle);
00045 }
00046
00053 public CustomSwitchPreference(Context context, AttributeSet attrs) {
00054 super(context, attrs);
00055 }
00056
00062 public CustomSwitchPreference(Context context) {
00063 super(context, null);
00064 }
00065
00066 @Override
00067 protected void onBindView(View view) {
00068
00069 ViewGroup viewGroup= (ViewGroup)view;
00070 clearListenerInViewGroup(viewGroup);
00071 super.onBindView(view);
00072 }
00073
00079 private void clearListenerInViewGroup(ViewGroup viewGroup) {
00080 if (null == viewGroup) {
00081 return;
00082 }
00083
00084 int count = viewGroup.getChildCount();
00085 for(int n = 0; n < count; ++n) {
00086 View childView = viewGroup.getChildAt(n);
00087 if(childView instanceof Switch) {
00088 final Switch switchView = (Switch) childView;
00089 switchView.setOnCheckedChangeListener(null);
00090 return;
00091 } else if (childView instanceof ViewGroup){
00092 ViewGroup childGroup = (ViewGroup)childView;
00093 clearListenerInViewGroup(childGroup);
00094 }
00095 }
00096 }
00097
00098 }