cartes notifyDataSetChanged ne fonctionne pas
EDIT 2:
J'ai résolu mon problème, mais je ne sais pas comment faire:S je bougeais mes extraits de code un peu partout, du coup il a travaillé. Doit avoir fait quelque chose dans le mauvais ordre, mais son bizarre, vérifié à de nombreuses reprises. Merci pour votre aide, et désolé, je ne peux pas poster une réponse 😉
Salut.
J'ai une liste vue que je suis en train d'actualiser pour mettre à jour elle-même quand j'ajoute un élément à
le sous-jacent tableau liste.
Voici l'extrait de code:
private void addEvent() {
arrlEvents.add( event );
adptEvents.notifyDataSetChanged();
updateSaveFile();
filterList();
}
La arrlEvents sous-liste de tableaux avec les événements, et im ajout d'un événement, en essayant de mettre à jour l'affichage de la liste avec notifyDataSetChanged(), mais il ne marche pas. Quelqu'un peut-il aider?
Merci pour votre temps:)
EDIT:
Voici le code source de la carte:
private ArrayAdapter<Event> adptEvents;
adptEvents = new ArrayAdapter<Event>( EventCalendar.this, R.layout.list_items, arrlEvents );
fait maintenant, s'il vous plaît vérifier
OriginalL'auteur lands | 2010-10-18
Vous devez vous connecter pour publier un commentaire.
J'ai vu que parfois il ne marche pas au hasard notifier à la carte.
Essayez d'utiliser adptEvents protégé ou public, sur une portée globale.
J'ai constaté que quand cela ne marche pas. Vous pouvez juste valeur de la carte à nouveau, en remplaçant simplement le notifyDataSetChanged() pour:
Edit:
Heres un code snipper à partir d'une Application que j'ai écrit qui fonctionne.
Définition de la classe:
Variable Globale:
dans OnCreate():
Chaque fois que j'ai besoin de notifier
Édité ma réponse, que le code fonctionne au moins sur les émulateurs Api 7 & 8 et un nexus one runing 2.2
C'est ce que j'ai, à l'exception de l'implémente en partie. Le choix de ce que la bonne réponse 😉
OriginalL'auteur blindstuff
Il n'y a pas de lien persistant entre arrlEvents et la adptEvents.... le dernier simplement initialise lui-même avec les éléments de l'ancien. adptEvents a aucun moyen de savoir quand arrlEvents changements.
Pour ajouter de nouveaux éléments, vous devez appeler adptEvents.ajouter(événement) et pas la peine d'appeler notifyDataSetChanged() explicitement, depuis ArrayAdapter.ajouter() le fait pour vous automatiquement.
C'est plus une réponse que d'une astuce vraiment... 🙂
OriginalL'auteur Reuben Scratton