2010-11-03 22 views
1

Je suis sur Android 2.1 et j'ai une liste de contrôle personnalisée multi colonne Utiliser BaseAdapter avec un edittext éditable à la fin de la liste. Si les données de la liste ne contiennent pas les données du choix de l'utilisateur, l'utilisateur devrait pouvoir entrer des données. Si les données sont déjà présentes dans la liste, l'utilisateur pourra sélectionner les données à l'aide du sélecteur personnalisé. Si une sélection est effectuée dans la vue de liste et que l'utilisateur souhaite entrer des données dans le champ de texte en bas après la sélection, le marqueur dans la vue de liste doit être désélectionné. J'ai essayé d'utiliser la méthode onclick() sur le texte d'édition en utilisant l'écouteur de clic. La première fois que vous cliquez dessus, le texte d'édition obtient le focus et la méthode onclick() n'est pas déclenchée. Et quand il est cliqué une deuxième fois, la méthode onclick() est déclenchée et la méthode notifyDataSetChanged() est appelée. J'ai essayé d'appeler la méthode notifyDataSetChanged() à partir du Focus Listener, la sélection de la vue liste est parti dans ma première tentative et le texte d'édition ne reçoit aucune entrée de données du clavier (gelé) .Veuillez aider. Merci, Venkatmulti colonne Vue de liste personnalisée avec un texte d'édition modifiable à la fin de la vue de liste

Répondre

1

Enfin, je l'ai réparé. notifyDataSetChanged() sur focus gagné d'edittext s'appelle récursivement lui-même. D'où ce problème était là. Ainsi, plutôt que d'appeler notifyDataSetChanged() de l'écouteur de focus, j'ai utilisé une méthode dans l'activité pour mettre à jour la liste à partir de l'écouteur de focus de l'edittext. Par conséquent, il n'y a eu aucun problème de récursion avec notifyDataSetChanged().