2012-03-29 2 views
0

У меня есть расширяемое listview, и у меня есть флажок для родительского и дочернего. Это требование заключается в том, что если я установить флажок родителя, то флажок детей должны также получить selected.Here это кодфлажок в расширяемом списке просмотров

holder.editCheck 
      .setOnCheckedChangeListener(new OnCheckedChangeListener() { 

       @Override 
       public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      } 

Может ли один помочь мне с этим

ответ

0

Выберите тот, который вы хотите :

Первый применит флажок состояния родительского элемента к дочернему.

parent_checkbox.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) 
     { 
      children_checkbox.setChecked(parent_checkbox.isChecked()); 
     } 
    }); 

Или:

Второй будет применяться только состояние, если проверяется. То есть. если родитель не отмечен, ребенок сохраняет свое предыдущее состояние.

parent_checkbox.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) 
     { 
      if (parent_checkbo.isChecked()) children_checkbox.setChecked(true); 
     } 
    }); 
+0

Я не могу получить доступ к children_checkbox в getgroupView. В getgroupView у меня есть только доступ к родительскому окну и в getchildView у меня есть доступ к child_checkbox –

+0

В активности children в методе onCreate добавьте 'CheckBox parent = (CheckBox) getParent(). FindViewById (R.id.your_parent_check_box) ; CheckBox child = (CheckBox) findViewById (R.id.your_child_check_box); if (parent.isChecked()) child.setChecked (true); ' – Manitoba

+0

ребенок не является активным, я имею дело с расширяемым списком –

Смежные вопросы