2014-03-12 79 views
0

我已經寫了一個應用程序。在那裏我有2個選項卡在我的活動。第一個選項卡有2個開關。當我點擊第一個選項卡時,我需要關閉開關,如果有人在。我試過setchecked(false),但它不工作。setchecked(false)開關不起作用

@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); 
     } 

回答

1

試試看。

Default.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

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

HTH。更多信息請閱讀here

如果您想第一次將開關設置爲OFF,請在您的代碼中刪除if

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

我想,這不僅會檢查,當我點擊switch.I需要關閉與出點擊開關 – Arya

+0

開關請檢查我的更新答案 –

+0

我已經試過這但它不起作用。 – Arya

2

檢查了這一點

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 
} 
}}); 
+0

我正在使用標籤在操作bar.so沒有tabhost。 – Arya