2014-01-10 1 views
0

Привет, друзья stackoverflow. Я новичок в android, и у меня есть простой вопрос, который беспокоит меня! У меня есть 2 CheckBox (C heckBoxAutomat и CheckBoxManual например). Я хочу, когда click на CheckBoxAutomat, тогда он chekecd, и если CheckBoxManual проверен раньше, принудительно его не проверять. И для CheckBoxManual эти события должны быть выполнены. Я пишу этот код, но для меня это неправильный результат. Как я могу изменить статус проверки для своих chechboxes в соответствии с объяснениями? Код:Я хочу, когда нажмем на флажок1, затем он chekecd, и если checkbox2 проверен раньше, принудительно его не проверять (для android)

   CheckBoxAutomat.setOnCheckedChangeListener(new OnCheckedChangeListener() 
       { 

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


        } 

       } 
      }); 
       //.............................. 
       CheckBoxManual.setOnCheckedChangeListener(new OnCheckedChangeListener() 
       { 

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



        } 

       } 
      }); 

ответ

0

Я задал этот вопрос, потому что я не сделал, как DEFUALT стиль checkoboxes, в то время как я нуждался в radibutton surely.So я положил RadioGroup на мое приложение, а затем change android: кнопка с checkbox_selector (с моими любимыми картинками), которую я создал. a cb_selector вот так:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_checked="true" android:drawable="@drawable/checked2" /> 
    <item android:state_checked="false" android:drawable="@drawable/unchecked2" /> 
</selector> 

это должно быть написано в XML-файле в выгружаемом forlder. , тогда я пишу @ drawable/cb_selector в свойстве Button для каждой радиообщей в моей радиогруппе. см. Этот мой пост How I can have behavior RadioGroup SingleChoice for 2 or more checkbox on android?(at here for 2 checkbox ,specially)

1

Попробуйте с этим:

CheckBoxAutomat.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
    { 
     // TODO Auto-generated method stub 
      if(CheckBoxManual.isChecked()) { // if Manual is checked uncheck it 
       CheckBoxManual.setChecked(false); 
      } 
    } 
    }); 
    //.............................. 
    CheckBoxManual.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

    @Override 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
    { 
     // TODO Auto-generated method stub 
     if(CheckBoxAutomat.isChecked()) { // if Automat is checked, uncheck it 
      CheckBoxAutomat.setChecked(false); 
     } 
    } 
});