2016-06-08 1 views
-1

J'ai actuellement un ListView personnalisé. Chaque élément à l'intérieur de ce ListView contient un ImageView, deux TextViews et un CheckBox. Voici une capture d'écran de la liste.Comment obtenir l'ID ListView lorsque CheckBox est coché?

Screenhot

Je suis capture lorsque l'utilisateur clique sur la case avec le snipped ci-dessous,, je dois cependant l'_id de l'élément qui a été vérifié.

// Get the CheckBox view 
CheckBox routine_quick = (CheckBox) view.findViewById(R.id.checkBox_quick); 

// Set checked value depending on the database results 
if (cursor.getInt(cursor.getColumnIndexOrThrow("quick")) == 1) { 
    routine_quick.setChecked(true); 
} else { 
    routine_quick.setChecked(false); 
} 

// Create onClickListener 
routine_quick.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     if (((CheckBox) v).isChecked()) { 
      // ADD QUICK TO DATABASE 

     } else { 
      // REMOVE QUICK FROM DATABASE 
     } 
    } 
}); 

Cependant, avec cette méthode, le seul paramètre que j'obtiens est "View v".

J'ai essayé de chercher, mais je ne trouve que des exemples de la manière de cocher la case à cocher lorsque l'on clique sur ListView.

Comment puis-je obtenir le _id lorsque le CheckBox est cliqué? Toute aide est appréciée. Je vous remercie!

+0

consultez ce tutoriel .... http://android-pratap.blogspot.com/2015/01/recyclerview-with-checkbox-example.html –

Répondre

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

int id = buttonView.getId(); 

if(isChecked){ 
    switch(id){ 
     case R.id.sprint: 
     //add to database 
     ... 
    } 
} 
else{ 
    switch(id){ 
     case R.id.sprint: 
     //remove from database 
     ... 
    } 
} 
} 

Cela devrait vous permettre de travailler avec des ID. Esperons que ça marche.