|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2012 Messages : 10 ![]() |
Bonjour,
En essayant de développer une appli android, je me trouve devant un problème qui commence à bien me taper sur les nerf précision : J'utilise la librairie ActionBarSherlock qui permet un support de l'actionbar dans des versions antérieures. Dans ma classe FragmentActivity J'utilise un ViewPager et un TabAdapter comme dans l'exemple suivant Je stocke les données à afficher dans uns base SQLite que j'ouvre avec un openhelper dans une classe dediée. J'affiche les données avec un SimpleCursorAdapter Le seul (gros) problème c'est que chaque ajout/suppression n'est affichée qu'apres avoir fermé l'application (un appui sur home ne marche pas, un appui sur back si). Et ce, que ce soit en passant par l'action bar, la boite de dialogue ou le menu contextuel. J'ai essayé avec une lib permettant d'utiliser un CursorLoader sans content provider https://github.com/commonsguy/cwac-loaderex mais même en appelant notifyDatasetChanged() ça ne marche pas. Bref, je suis un peu a court de solutions et j'attends vos conseils avec dévotion ![]() PS: j'ai vu qu'il était préférable de ne pas utiliser le thread UI pour ce genre d'opérations mais je préférerais d'abord maîtriser la chose sans passer par des AsyncTask sauf, bien sur si c'est vraiment obligatoire. Merci d'avance pour toute aide. Abba |
|
|
00
|
|
|
#2 | ||||
|
Invité de passage
![]() Étudiant Inscription : novembre 2012 Messages : 10 ![]() |
Par example dans ma classe FragmentActivity
Code Java :
Quand je passe par : Code Java :
Les changements voulu sont bien appliqués mais seulement au redemarrage de l'appli. |
||||
|
|
00
|
|
|
#3 |
![]() ![]() ![]() |
Bonjour,
J'ai lu rapidement mais ton problème n'est pas tout simplement que tu essayes mettre à jour ta TabsAdapteur alors que les données que tu modifies/ajoutes/supprimes n'appartiennent pas à un autre Adpater depuis tes Fragments ? |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2012 Messages : 10 ![]() |
Bonjour,
Merci pour ta réponse. Je remplis chaque ListFragment avec un SimpleCursorAdapter. Depuis le Fragment je demande une actualisation de cet adapter après une action sur le menu contextuel (qui est défini pour chaque fragment) mais le problème reste le même. Serait-ce un autre adapter que je dois appeller ? |
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() |
Citation:
|
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2012 Messages : 10 ![]() |
Je me suis mal exprimé.
J'utilise déjà cette méthode pour essayer d'actualiser mais ça ne marche pas. J'appelle en effet à la base depuis l'activity ( utilisation de l'actionBar ) mais aussi depuis le fragment quand le menu contextuel est utilisé. Et aucune des deux ne marche correctement. |
|
|
00
|
|
|
#7 |
![]() ![]() ![]() |
Bonjour,
Pourrais t on voir alors le code de ta Fragment qui met à jour ta liste ? |
|
|
00
|
|
|
#8 | ||||
|
Invité de passage
![]() Étudiant Inscription : novembre 2012 Messages : 10 ![]() |
J'ai un ListFragment MyFragmenTab dont héritent plusieurs sortent de fragment dont le FragmentAll dont je met le code.
MyFragmentTab.java Code Java :
FragmentAll.java Code Java :
|
||||
|
|
00
|
|
|
#9 |
![]() ![]() ![]() |
Bonjour,
Il s'avère que pour rafraichir des listes qui contiennent un cursor il faut passer par cela : Si tu as garder en mémoire le Cursor que tu as utilisé pour remplir ta listView tu peux le faire directement dessus Donc : Pas besoin du notifyDataSetChanged() NB : cette commande est maintenant deprecated , il faut utiliser http://developer.android.com/referen...#requery%28%29 |
|
|
10
|
|
|
#10 |
|
Invité de passage
![]() Étudiant Inscription : novembre 2012 Messages : 10 ![]() |
Meci beaucoup pour ton aide.Je vais enfin pouvoir avancer dessus ca fait super plaisir
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com