Profete162 Posté(e) 20 mars 2010 Share Posté(e) 20 mars 2010 (modifié) Salut le monde. J'utilise pour le moment une TabActivity ( A) qui dans ses 2 onglets, contient les activités B et C. Dans l'activité B, j'ai une liste d'élément fixes, et quand je clique sur les éléments de la liste, je veux les rajouter à la BD Et l'activité C affiche les éléments sur lesquels j'ai cliqué. (c'est un modèle très simplifié) J'ai essayé toutes les possibilités posibles, donc j'aimerais savoir laquelle utiliser. 1) mon DbAdapter est dans l'activité A ( TabActivity) J'ai donc ce bout de code dans A: mDbHelper = new NotesDbAdapter(this); mDbHelper.open(); et dans le code de B, sur un click: A.mDbHelper.createFav(blabla); en dans le code C, pour créer le cursorAdapter: mCursor=A.mDbHelper.fetchAllFav(); Le petit couac, c'est que l'activité C n'affiche pas directement les éléments. Je dois quitter l'activité principale A et quand je reviens dedans tout s'affiche bien. Il est à noter que dans mon premier "voyage" de l'onglet B vers l'onglet C, tout est actualisé si j'avais clické, les élements sont bien présents. Et ensuite, plus rien ne s'actualisera! 1) 2 DbAdapter dans les activités B et C ( TabActivity) . ca me semble tres mauvais comme idée non? J'ai essayé aussi, mais c'est pas le top, c'est encore pire. Des idées/ propositions? Merci d'avance. Profete Modifié 20 mars 2010 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 20 mars 2010 Share Posté(e) 20 mars 2010 Quelques pensées à la lecture de ton problème... à pondérer par le fait que je n'ai pas encore moi-même réllement mis en pratique les accès bases de données ni de TabActivity : - Que tes activités B et C passent par une référence à A pour accéder aux données ne me semble pas être une super idée par rapport au cycle de vie des Activity. J'ai peur qu'il y ait un risque de conserver des références à A alors que le système pourra potentiellement l'avoir détruite... quoi que cela impliquerait que B et C le soient également... bof je ne sais pas mais intuitivement ca me fait tiquer - Je ne vois pas pourquoi l'idée d'avoir un DBAdapter dans B et C serait mauvaise, au contraire cela me semblerait plus sûr par rapport au point précédent. - A quel moment dans ton activité C as-tu implanté la récupération du contenu de la base ? Il faut s'arranger, je pense, pour aller la consulter à chaque fois que l'activité C revient au premier plan, donc d'après http://developer.android.com/images/activity_lifecycle.png dans le onResume(). Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 21 mars 2010 Auteur Share Posté(e) 21 mars 2010 - Je ne vois pas pourquoi l'idée d'avoir un DBAdapter dans B et C serait mauvaise, au contraire cela me semblerait plus sûr par rapport au point précédent.. C'est ce que j'ai fait, mais il semble y avoir des problèmes. Je peux rajouter un élément dans la base de donnée depuis l'activité B et fermer la BD, si je switche d'onglet pour aller dans la C et que je parcours la BD, il n'affiche pas l'élément que je viens juste de rajouter!!! Pour que ca fonctionne, je dois quitter l'activité TabActivity A et la relancer. C'est très bizarre. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 21 mars 2010 Auteur Share Posté(e) 21 mars 2010 Effectivement, c'est bien cela. J'étais habitué à mes activités qui se ferment et repasse par un oncreate() chaque fois que je passe d'une fenêtre à l'autre. Avec le tabactity, elles se mettent en veillent et reprennent au onresume! Un point pour Kevin! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.