Arya
Arya

Reputation: 1747

setchecked( false) of the switch doesn't work

I have written a app.In that I'm having 2 tab in my activity.In 1st tab having 2 switches.when i click on 1st tab I need to off the switch if anyone is on.I have tried setchecked(false) but it is not working.

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    view = inflater.inflate(R.layout.main_layout, container, false);

    Switch Default = (Switch)view.findViewById(R.id.Default);
    Switch FMR = (Switch)view.findViewById(R.id.FMR);
        if(Default.isChecked()){
        Default.setChecked(false);  
        }
                if(FMR.isChecked()){
        FMR.setChecked(false);  
        }

Upvotes: 1

Views: 1991

Answers (2)

Rethinavel
Rethinavel

Reputation: 3952

Try this out.

 Default.setOnCheckedChangeListener(new OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(CompoundButton buttonView,
                        boolean isChecked) {
                    // TODO Auto-generated method stub
                    if (isChecked) {
                           Default.setChecked(false);  
                    } 
                    }
                }
            });

HTH. For more Read here

if you want to set the switch to OFF for the first time, Then remove the if in your code.

Switch Default = (Switch)view.findViewById(R.id.Default);
Switch FMR = (Switch)view.findViewById(R.id.FMR);
Default.setChecked(false);  
FMR.setChecked(false);  

Upvotes: 1

Navaneeth
Navaneeth

Reputation: 883

Check this out

myTabHost.setOnTabChangedListener(new OnTabChangeListener(){
@Override
public void onTabChanged(String tabId) {
if(TAB_1_TAG.equals(tabId)) { //off the required switch
   Default.setChecked(false); 
   FMR.setChecked(false); 
}
if(TAB_2_TAG.equals(tabId)) {
   //off the required switch
}
}});

Upvotes: 2

Related Questions