Android - Comment actualiser mon listview après l'ajout de l'élément à la base de données par le biais d'un dialogfragment
J'ai un DialogFragment
de là où je suis l'ajout de l'élément dans la table de base de données.
Et j'ai une autre Fragment
, qui a un ListView
où je suis l'affichage de tous les éléments de la base de données.
Je pourrais ajouter l'élément à la base de données, mais il n'apparaît pas immédiatement sur le ListView
, qui est de récupérer les éléments de la base de données.
- Pouvez-vous nous montrer votre
MyListAdapter
?
Vous devez vous connecter pour publier un commentaire.
vous pouvez utiliser la méthode
yourListAdapter.notifyDataSetChanged()
, voir cetteEDIT :
vous ajoutez l'élément à la base de données à partir d'Un fragment , de sorte que vous devez créer une variable globale pour votre listAdapter dans le fragment B ( celui qui contient le
listView
) , et d'obtenir votre fragment dans votre Fragment d'Une balise , et alors vous devriez appeler :EDIT 2 :
dans votre
CustomListAdapter
, ajoutez une méthode pour actualiser la Liste de vos objets (my
) :et puis , lorsque vous ajoutez le nouvel Objet à votre base de données, de récupérer toutes les données de la base de données, puis composez le :
Créer un objet global de votre classe personnalisée.
Et de définir votre listView de l'adaptateur:
Juste actualiser votre tableau, appelé "mon", dans votre carte.
Et puis appeler:
ça va faire l'affaire...
Créer une variable globale pour votre
MyListAdapter
Créer un getter dans le fragment où il existe:
Lorsque vous créez une nouvelle entrée dans la base de données, composez ceci:
Cela devrait fonctionner, mais vous aurez besoin de faire un peu de débogage/logique de votre propre faire.
MODIFIER: Voici la méthode:
List
avec la base de données. Créer une méthode publique qui fait cela, et de l'appeler avecnotifyDataSetChanged()
Vous avez la valeur de la carte à nouveau à la listView cela permettra d'augmenter la mise à jour