Bonjour, précédemment on m'a conseillé d'utiliser les énumérations pour mes déclaration de variables.
Le seul soucis est que comme à chaque solution cela pose un problème un peu plus loin.
J'ai mes 2 énumérations:
Et ensuite j'ai leur utilisation:
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 enum ButtonId{ mButtonAll(R.id.all), mButtonQuot(R.id.quot), mButtonHebd(R.id.hebd), mButtonMens(R.id.mens), mButtontrim(R.id.trim), mButtonAnn(R.id.ann); private int resId; private ButtonId(int r){ this.resId = r; } public int getResId(){ return this.resId; } } enum ListViewId{ mListViewAll(R.id.ListViewAll), mListViewQuot(R.id.ListViewQuot), mListViewHebd(R.id.ListViewHebd), mListViewMens(R.id.ListViewMens), mListViewTrim(R.id.ListViewTrim), mListViewAnn(R.id.ListViewAnn); private int resId; private ListViewId(int r){ this.resId = r; } public int getResId(){ return this.resId; } }
Le problème c'est déjà pour la partie pour rendre la liste visible ou non il aime pas trop la syntaxe avec le tableau listViewMap[i]:
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 ListViewId[] listViewId = ListViewId.values(); final ListView[] listViewMap = new ListView[listViewId.length]; for (int i = 0; (i < listViewId.length); ++i){ listViewMap[i] = (ListView) v.findViewById(listViewId[i].getResId()); listViewMap[i].setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub String choix = mDataAll.get(position); Bundle mObjetBundle = new Bundle(); //Permet de passer un paramètre à l'autre activité mObjetBundle.putString("choix", choix); Intent t = new Intent(getActivity(), Tableau.class); //permet d'appeler la nouvelle activité t.putExtras(mObjetBundle); startActivity(t); }}); } ButtonId[] buttonId = ButtonId.values(); Button[] buttonMap = new Button[buttonId.length]; for (int i = 0; (i < buttonId.length); ++i){ buttonMap[i] = (Button) v.findViewById(buttonId[i].getResId()); buttonMap[i].setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub if(listViewMap[i].isShown()){ listViewMap[i].setVisibility(View.GONE); } else{ listViewMap[i].setVisibility(View.VISIBLE); } } }); }
Et par la suite j'ai mes variable mDataAll qui sont des arrayList donc je ne vois pas comment rendre l'initialisation dynamique pour ensuite l'utiliser sans cette partie:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public void onClick(View v) { // TODO Auto-generated method stub if(listViewMap[i].isShown()){ listViewMap[i].setVisibility(View.GONE); } else{ listViewMap[i].setVisibility(View.VISIBLE); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub String choix = mDataAll.get(position); Bundle mObjetBundle = new Bundle(); //Permet de passer un paramètre à l'autre activité mObjetBundle.putString("choix", choix); Intent t = new Intent(getActivity(), Tableau.class); //permet d'appeler la nouvelle activité t.putExtras(mObjetBundle); startActivity(t); }});
Voilà en espérant que vous pourrez m'aider ^^
Partager