Question

Je sais qu'il y a des tonnes d'autres discussions autour de ce même sujet, mais aucun d'entre eux ne semble fonctionner avec mon scénario et je ne pouvais pas obtenir ma liste de réception pour travailler avec leur code.Fondamentalement, j'utilise un SimpleCursoradapter pour remplir une liste de réception avec des éléments de la base de données.Chaque ligne ListView utilise une disposition personnalisée qui consiste en une case à cocher et une ligne de texte simple.Comment détecter un clic sur la case?Je sais que j'ai besoin d'utiliser OnItemClickListener, mais je ne sais pas comment incorporer cela dans mon code.Voici mon code:

remindersCursorAdapter = new SimpleCursorAdapter(this,
                         R.xml.view_reminders_item_layout,
                         remindersCursor, new String [] { RemindersDAO.NAME },
                         new int[] { R.id.view_reminders_item_text } );

viewRemindersListView.setAdapter(remindersCursorAdapter);

r.xml.view_reminders_item_layout est le fichier de mise en page ListView personnalisé.Comment capturer la case à cocher à partir de ce fichier et définir un auditeur Cliquez dessus?Merci pour toute votre aide!

Était-ce utile?

La solution

Si vous souhaitez cocher la case à cocher Lorsqu'un élément est cliqué, vous pouvez le faire en définissant l'état vérifié de la case à la case sur OnitemClick.

  @Override
  public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

       // now get the checkbox view. Then set the checked status.
        CheckBox checkbox = (CheckBox) view.findViewById(R.id.check_box);
        checkBox.setChecked(!checkbox.isChecked());
  }

Si vous souhaitez détecter le clic sur la seule case à la case, définissez le VRAI Fonctionnement en XML. // Dans votre article de la liste personnalisée.Il faut le point de vue actuel.

      <Checkbox>
          android:focusable="true"
      </Checkbox>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top