Question

J'ai peuplé un ListActivity d'un Cursor utilisant SimpleCursorAdapter qui démarre une autre activité lorsque l'un des éléments de la liste ont été cliqué. J'utilise aussi ViewBinder pour faire une transformation personnalisée des données.

Je veux ajouter un CheckBox à chaque ligne dans la liste donc j'ai changé le point de vue et a ajouté un CheckBox avec gravité droit.

Ajout du CheckBox a supprimé la possibilité de cliquer sur les articles. La méthode onListItemClick je ne ListActivity dans PRÉPONDÉRANTS est appelé plus lorsque vous appuyez sur un élément de la liste. Retrait de la CheckBox fixe cela. Pourquoi est-ce?

En outre, comment puis-je configurer la liste afin qu'il continue d'accomplir ma fonctionnalité requise si la partie principale de l'élément de liste est cliqué, mais ont des fonctionnalités supplémentaires lorsque le CheckBox dans l'élément est vérifié? Est-ce que la mise en œuvre de onCheckedChangedListener ou est la même instance de vue réutilisée pour chaque élément dans la liste?

Était-ce utile?

La solution 2

On dirait que SimpleCursorAdapter est trop primitive pour ce que je voulais réaliser. Je suis passé à la mise en œuvre CursorAdapter et retourner une nouvelle vue à l'aide du LayoutInflater dans ma mise en œuvre de la méthode newView.

  public View newView(Context context, Cursor cursor, ViewGroup parent) {
    return LayoutInflater.from(context).inflate(R.layout.alarm_row, parent, false);
  }

Dans Bindview je puis définir un OnClickListener personnalisé à mon principal LinearLayout puis une autre OnCheckedChangeListener au CheckBox.

Pour tout cela à regarder à droite je devais mettre android de menuitem drawable arrière-plan du LinearLayout:

android:background="@android:drawable/menuitem_background"

Autres conseils

Comme expliqué , l'auditeur de clic ne fonctionne si aucun autre point de vue est focusable. Configuration de votre CheckBox à focusable="false" devrait faire l'affaire:

<CheckBox android:focusable="false" />
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top