2010-11-01 5 views
0

J'ai un listView en utilisant un adaptateur personnalisé. Chaque ligne contient un bouton et d'autres vues. Je veux pouvoir cliquer soit sur le bouton, soit sur la ligne elle-même (pour éditer l'élément de la liste sur laquelle on clique).Android ListView: Comment utiliser l'activité onClickListener à partir d'un adaptateur personnalisé?

Définition d'une onItemClickListener dans l'activité ne fonctionnera pas à cause de this problem

Je pense que je dois mettre un onClickListener dans la méthode getView() de mon adaptateur pour qu'il fonctionne correctement. Je voudrais utiliser l'onClickListener de mon activité, afin d'utiliser startActivityForResult() lorsque l'on clique sur la ligne, afin d'avoir quelque chose retourné à mon activité lorsque l'activité d'édition de l'article est terminée. Comment puis-je faire cela?

Merci!

Répondre

0

Vous devez ajouter un écouteur onclick à chaque bouton que vous ajoutez à chaque ligne. La meilleure façon de le faire est probablement de créer votre propre disposition personnalisée dans le code, et chaque fois que vous créez une nouvelle vue dans votre adaptateur, définissez l'écouteur onclick dans le code de disposition.

+1

Donc, ma classe de mise en page personnalisée doit s'étendre et implémenter OnClickListener, n'est-ce pas? Comment puis-je faire un startActivityForResult() à partir d'une autre classe, afin que je puisse retourner un objet à mon activité principale? Je ne peux accéder qu'à view.getContext(). StartActivity(), et non à startActivityForResult() – nbarraille

Questions connexes