0

J'ai un listview personnalisé en cela, j'ai le champ de texte et la case à cocher. quand je clique sur la liste, la case à cocher devrait être activée si elle n'est pas activée et vice visa. c'est possible dans android?comment activer/désactiver une case à cocher dans une vue liste tout en cliquant sur la vue liste?

listView.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 

      } 
     }); 

ma liste est ci-dessous.

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:padding="6dip" > 

    <CheckBox 
     android:id="@+id/checkBox1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:focusable="false" 
     android:textColor="@color/white" 
     android:focusableInTouchMode="false" 
     android:text="CheckBox" /> 

    <TextView 
     android:id="@+id/code" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignBaseline="@+id/checkBox1" 
     android:layout_alignBottom="@+id/checkBox1" 
     android:visibility="invisible" 
     android:textColor="@color/white" 
     android:layout_toRightOf="@+id/checkBox1" 
     android:text="TextView" /> 

ceci est ma liste dans l'activité principale xml

<ListView 
     android:id="@+id/listView1" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" /> 
+0

Avez-vous essayé d'exécuter le code? De cette façon, vous allez répondre à votre propre question. Postez les problèmes que vous rencontrez. – JamesK

+0

duplicata possible de [comment cocher la case à cocher lorsque je clique sur la liste?] (Http://stackoverflow.com/questions/7712924/how-to-set-checkbox-to-checked-when-i-click-on -liste) – TheOnlyJakobob

Répondre

1

1) Vous avez besoin d'un onItemClickListener
2) obtenir le CheckBox
3) décochez la case à l'opposé, si son état actuel
4) done :)

listView.onItemClickListener(new OnItemClickListener(){ 
     public void onItemSelected(AdapterView<?> adapter, View v, int position, long arg3){ 
      CheckBox checkBox = v.findViewById(R.id.checkBox1); 
      checkBox.setChecked(!checkBox.isChecked()); 
     } 
}); 
0

Vous avez déjà l'écouteur qui réagit lorsque quelqu'un clique sur un élément de liste. La vue donnée dans la méthode onItemClick est l'élément de liste.

Maintenant, il vous suffit d'obtenir le CheckBox de la liste de l'article: final CheckBox checkBox = (CheckBox) view.findViewById(R.id.checkBox1);

Et vous pouvez vérifier, si elle est cochée avec isChecked() et fixé avec setChecked().

Questions connexes