2012-03-29 2 views
0

J'ai une listview extensible et j'ai la case à cocher pour parent et enfant. L'exigence est que si je cocher la case de parent, puis la case à cocher des enfants devrait également obtenir le code selected.Here estcase à cocher dans la liste extensible

holder.editCheck 
      .setOnCheckedChangeListener(new OnCheckedChangeListener() { 

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

quelqu'un me pourrait aider à ce

Répondre

0

Choisissez celui que vous voulez :

La première va appliquer l'état de la case parent à l'enfant.

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

Ou:

Le second ne s'appliquera l'état si l'est cochée. C'est à dire. Si le parent n'est pas coché, l'enfant garde son état précédent.

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

Je ne peux pas accéder à children_checkbox dans getgroupView. Dans getgroupView, je n'ai accès qu'au parentcheckbox et dans getchildView j'ai accès à children_checkbox –

+0

Dans l'activité enfants, dans la méthode onCreate, ajoutez 'CheckBox parent = (CheckBox) getParent(). FindViewById (R.id.your_parent_check_box) ; CheckBox enfant = (Case à cocher) findViewById (R.id.your_child_check_box); if (parent.isChecked()) child.setChecked (vrai); ' – Manitoba

+0

l'enfant n'est pas une activité, je suis confronté à une liste extensible –

Questions connexes