Bonjour,
Je réalise une application pour charger un emploi du temps. Lorsque l'on ouvre l'application, l'emploi du temps s'affiche si on l'a déjà téléchargé une fois précédente, sinon un écran nous demande de remplir certains champs et de le télécharger.
On peut télécharger l'emploi du temps quand on veut et de même pour le changement des paramètres (on peut changer les couleurs dans l'affichage ...)
Dans onOptionsItemSelected, on peut soit aller vers un écran qui permet de changer les paramètres, soit télécharger les données (via un Thread). On part du menu paramètres en appuyant sur la touche retour.
Mon problème est que je ne sais pas comment faire pour que l'emploi du temps afficher se recrée une fois que l'on a téléchargé l'emploi du temps ou que l'on a changé certains paramètres. Est-ce qu'il serait possible de mettre une sorte de listener dans le onCreate qui dès qu'il voit que l'emploi du temps change ou certains paramètres change se remet à jour ?
Voici le début de mon code :
Merci.
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Afficher l'emploi du temps lorsque l'on ouvre l'application this.afficherEmploiDuTemps() ; } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.options, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId() == R.id.itemOptions) { Intent intent = new Intent(this, MesPreferences.class); startActivity(intent); } if(item.getItemId() == R.id.itemActualiser) { mContext = this ; this.chargement() ; } return super.onOptionsItemSelected(item); } public void chargement(){ // Ouverture de la boite de dialogue de chargement mProgressDialog = new ProgressDialog(this); mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); mProgressDialog.setProgress(0); mProgressDialog.setTitle("Pamplemousse"); mProgressDialog.setMax(100); mProgressDialog.setMessage("Chargement de l'emploi du temps"); mProgressDialog.show() ; Thread chargement = new Thread((new Runnable() { public void run() { Message msg = null; // Lancement de notre fonction de chargement de données status = charger(); // Fermer la boite de dialogue de chargement mProgressDialog.setProgress(100) ; // Défini le message selon le résultat de la fonction (échec, ...) msg = mHandler.obtainMessage(status); mHandler.sendMessage(msg); if(mProgressDialog.isShowing()){ mProgressDialog.dismiss();} } })) ; chargement.start() ; }
Partager