Bonjour,

je ne comprend pas trop pourquoi il répète mon toast 2 fois en fait :s (Et si je fais un log.i de test pour autre chose, pareil) :s

Quelqu'un sait m'aider à découvrir ce mystère? ^^

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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package rapport.presse.cim;
 
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
 
/**
 * Cette classe est mon activité qui sera affichée à l'écran lors du lancement de l'application
 * Elle permet de déclarer les différentes vues de mon fichier xml (en les liant via leur id)
 * Elle gère également les cliques sur les boutons, l'affichage des vues et l'appel des méthodes permettant la récupération des données dans la bdd
 * @author vangoeth
 *
 */
public class MyFragment extends Fragment {
 
	/**
         * La variable url passée au constructeur permettra de joindre le web service lors de l'appel des classes concernées (asynchrones)
         * La variable titre est également récupérée par le constructeur et permet de modifier le titre principale de l'activité
         * La variable topTitle permet de récupérer l'id du textView et d'y placer le titre reçus par le constructeur
         */
	public String url;
	private String titre;
	private TextView topTitle;
 
	/**
         * 
         * @param url
         *      Url utilisée pour récupérer les données depuis la bdd
         * @param titre
         *      Titre de l'activité passé en paramètre
         */
	public MyFragment(String url, String titre){
		this.url = url;
		this.titre = titre;
	}
 
	/**
         * Ce tableau permert simplement de récupérer les données en fonction des périodes
         */
	public static final String[] mTabPeriode = {"allPeriode", "daily", "weekly", "monthly", "quarterly", "annual"};
 
	private int[] buttonId = {R.id.all, R.id.quot, R.id.hebd, R.id.mens, R.id.trim, R.id.ann};
 
	private int[] listViewId = {R.id.ListViewAll, R.id.ListViewQuot,R.id.ListViewHebd, R.id.ListViewMens, R.id.ListViewTrim, R.id.ListViewAnn};
 
	private int arrayAdapterId = android.R.layout.simple_list_item_1;
 
	/**
         * Les différents tableaux déclarés ci-dessous permettent de récupérer les valeurs de mes énumérations et la déclaration des différentes vues
         */
	private Button[] buttonMap = new Button[buttonId.length];
 
	private ListView[] listViewMap = new ListView[buttonId.length];
 
	public ArrayAdapter[] arrayAdapterMap = new ArrayAdapter[buttonId.length];
 
	public List<ArrayList<String>> mDataMap = new ArrayList<ArrayList<String>>(buttonId.length);
 
 
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
		View v= inflater.inflate(R.layout.first, container, false); 
 
		/**===============================================
                        Appel des layouts des ListView et button +
                              Initialisation des cliques 
                ===============================================**/ 
		/**
                 * Permet de lier la variable à son layout et d'initialiser le titre
                 */
		topTitle = (TextView) v.findViewById(R.id.title);
		topTitle.setText(titre);
 
		/**
                 * Cette boucle va permettre d'une part d'initialiser, de lier les variables à leur layout et de gérer les cliques
                 * Lors de l'appel de la classe asynchrone, nous passons en paramètre la liste qui sera remplie aves les données, 
                 * et l'adaptateur permettant de les afficher à l'écran.
                 * 
                 */
		for (int i = 0; (i < buttonId.length); i++){
 
			mDataMap.add(new ArrayList<String>());
 
			arrayAdapterMap[i] = new ArrayAdapter<String>(this.getActivity(), arrayAdapterId, mDataMap.get(i));
 
			new AsyncDownload(mDataMap.get(i), arrayAdapterMap[i]).execute(url, "periode", mTabPeriode[i]);
 
			buttonMap[i] = (Button) v.findViewById(buttonId[i]);
 
			listViewMap[i] = (ListView) v.findViewById(listViewId[i]);
			listViewMap[i].setVisibility(View.GONE);
 
			buttonMap[i].setOnClickListener(new MyListViewListener(listViewMap[i]));
 
			listViewMap[i].setAdapter(arrayAdapterMap[i]);
 
			listViewMap[i].setOnItemClickListener(new MyListViewItemListener(mDataMap.get(i), this.getActivity()));
 
		}
		if ((mDataMap.get(0)).size() == 0){
			Toast.makeText(this.getActivity(), "Résultats inaccessibles, veuillez réessayer plus tard ou vérifier votre connexion internet", Toast.LENGTH_LONG).show();
 
		}
		return v;
	}
}