Bonjour,
J'ai une base donnée dont les éléments sont affiché dans une liste view , j'arrive à ajouter, modifier et supprimer un élément mais lorsque je supprime un élément et que j'ajoute un nouvelle élément celui ci n'est pas ajouté ni affiché et quand j'ajoute une deuxième fois , l'élément est bien ajouté dans la base donnée et affiché dans la listView.
La base de donnée est composé d'objet Tache qui a un titre (string), une priorité (int) et un identifiant.
Pour supprimé un élément de la listView, je clique dessus -> une boite de dialogue s'ouvre avec un bouton supprimé -> si je clique sur supprimé ca lance la méthode supprimer() et la boite de dialogue se ferme.
Peut être que le problème vient de là et qu'il faudrait recharger l'activité ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class Tache_BDD extends SQLiteOpenHelper { ... public void supprimeUneTacheById (Long id) { this.getWritableDatabase().delete(TABLE_TACHE,COL_ID + " = ?",new String[] {String.valueOf(id)}); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public class MainActivity implements Dial.InterfaceSupprime { { ... public void supprimer() { liste_taches = t_bdd.getAllTache(); Log.d("AVANT_SUPPRESSION",""+liste_taches); t_bdd.supprimeUneTacheById(id_bdd); String message = t.titre + "\npriorité: " + t.priorite + "\nSUPPRIMÉ"; Toast.makeText(getApplicationContext(),message, Toast.LENGTH_LONG).show(); adapteur(); } public void adapteur() { liste_taches = t_bdd.getAllTache(); <- récupere tous éléments de la base donnée. Log.d("adapteur"," "+liste_taches); adapter = new AdaptateurPerso(this,liste_taches); setListAdapter(adapter); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public class Dial extends DialogFragment { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.boite_de_dialogue, null); Button supprimer = (Button) v.findViewById(R.id.supprimer); supprimer.setOnClickListener(supprimeOnClick); return v; } ... private InterfaceSupprime mListener; View.OnClickListener supprimeOnClick = new View.OnClickListener() { public void onClick(View v) { mListener.supprimer(); getDialog().dismiss(); } };








Répondre avec citation





Partager