IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Aide et conseils pour structure à opter


Sujet :

Android

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut Aide et conseils pour structure à opter
    Bonjour à tous,

    Voila je suis en école d'informatique et j'ai un projet a faire qui consiste a développer une application android.
    Malheureusement les cours ne sont pas très complet et je n'ai qu'un mois pour la faire.
    L'application est une sorte de jeu de quizz où l'utilisateur est le "question master" et voit afficher les 8 jouers (2 équipes de 4) sur l'écran.
    Lorsque l'on appuis sur le joueur a qui c'est le tour de jouer un dialogue apparait avec la question et la possibilité de lui attribuer 2 points, 1 points ou aucun point.

    Voila en gros le sujet, j'ai commencer a essayer de la programmer mais je bloque vraiment quand a la structure et l'algorithme a utiliser pour gérer les tours, le joueur a qui c'est le tour de jouer, les scores etc ...

    Si besoin je peux copier coller le sujet pour ceux qui veulent voir les consignes en entier (en anglais).

    Donc je me tourne vers ce forum de professionnel en espérant avoir des conseils et de l'aide pour savoir comment devrais je commencer et quelle direction suivre.

    En vous remerciant.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Points : 494
    Points
    494
    Par défaut
    Bonjour,
    Voilà ce que je ferais, mais je ne pense pas que cela soit optimisé. Je mettrais dans mon layout 8 boutons. Je créerais une classe avec les infos des joueurs (nom, score..) et un bouton. Tu stockes tout ça dans une liste de joueurs et tu gères les tours avec un simple compteur. Quand l'utilisateur appuie sur le bouton qui correspond au bouton enregistré dans l'élément de la liste, j'ouvre un alertdialog avec du texte et un RadioGroup.

    Est ce bien ça que tu voulais savoir ? ou suis je hors sujet

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Oui c'est bien ça que je voulais merci.
    Je cherche ce genre de conseil car apparemment je doit aussi rendre un diagramme UML ou bien un Javadoc de mes classes et leurs méthode sauf que ce que j'ai commencer à faire je gère tout dans le fichier java principal .. donc je n'ai aucune classe et ce ne pas bon je pense.
    J'ai un peu de mal a savoir comment créer des classes et comment les utiliser ensuite dans mon fichier principal.

    Cela me fait peur et je stress maintenant car j'ai l'impression que je n'y arriverai pas et malheureusement je suis en Angleterre et l'école ici est très mal faite, si je rate une seule matière je rate toute l'année.. les matières ne ce compensent pas entre elles.

    Je met les consignes du projet en pièce jointe pour ceux qui veulent les voir en entier pour + de précision.

    Merci a toi de m'avoir répondu.
    Images attachées Images attachées

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Points : 494
    Points
    494
    Par défaut
    A coté des photos il y a deux valeurs. Je présume que celle du bas c'est pour le score, mais à quoi correspond l'autre ? (j'ai pas lu le sujet en entier donc j'ai surement raté l'info )

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par AndroChristophe Voir le message
    A coté des photos il y a deux valeurs. Je présume que celle du bas c'est pour le score, mais à quoi correspond l'autre ? (j'ai pas lu le sujet en entier donc j'ai surement raté l'info )
    Enfait si la joueur répond juste en moins de 20 secondes il gagne 2 points, sinon il gagne qu'un point, ou zéro s'il ne sait pas.
    Ensuite il peu demander de l'aide a ses coéquipier pour 1 point.
    S'il répond faux un joueur adversaire peut essayer de répondre pour 1 point.

    Tout ca pour dire que le score du haut il est soit "blank" lorsque qu'on ne gagne aucun point soit "2" lorsqu'on répond juste.
    Et le score du bas représente le nombre de questions que le joueur a répondu juste pour 1 point.

    Donc le score du haut ne changera qu'une seule fois lorsque le joueur répond a sa question, tandis que le score du bas peut changer pendant les tours des autres si jamais on répond a la place d'un allié ou encore si l'adversaire répond faux et que l'on répond a ça place.

  6. #6
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,


    Voilà ce que je ferais, mais je ne pense pas que cela soit optimisé. Je mettrais dans mon layout 8 boutons. Je créerais une classe avec les infos des joueurs (nom, score..) et un bouton. Tu stockes tout ça dans une liste de joueurs et tu gères les tours avec un simple compteur. Quand l'utilisateur appuie sur le bouton qui correspond au bouton enregistré dans l'élément de la liste, j'ouvre un alertdialog avec du texte et un RadioGroup.
    Pour compléter la remarque de AndroChristophe,
    tu devrais t'inspirer du code évènementiel .


    Les composants d'une application événementielle interagissent entre eux et avec l'environnement. Ils communiquent en réponse à des événements. Ces événements peuvent correspondre à une action de l'utilisateur : un click sur un bouton de commande, une écriture dans une zone de texte, un choix dans une case d'option ou une case à cocher, le déplacement d'un objet, ... Ils peuvent aussi être déclenchés par le système : chargement d'une feuille, un top déclenché par l'horloge, ...

    Les événements sont captés par le système d'exploitation, sont mis en file d'attente ce qui signifie que les événements sont séquentialisés. Ils sont ensuite pris en charge par la boucle de gestion des événements. La boucle de gestion des événements prend le premier événement à traiter dans la file et le traite. Le traitement consiste en l'exécution des procédures événement associées à celui-ci s'il en existe. C'est le programmeur qui doit prévoir la procédure à exécuter en réponse à un événement donné. Par exemple, le déclenchement de l'événement click sur un bouton quitter doit terminer l'exécution, le choix d'un élément dans un menu doit déclencher certaines opérations, un top d'horloge doit modifier le contenu d'une zone d'image.

    Après analyse et élaboration d'un cahier des charges, le rôle du programmeur est de concevoir l'interface (sa forme et son contenu) tout en respectant les contraintes du cahier des charges. Il doit ensuite écrire le code des procédures événement liées aux différents composants de cette interface.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Bon alors il y a un peu d'avancement, j'ai donc mon xml pour le layout de la fenêtre, j'ai ma classe main qui gère les regles du jeux et pour l'instant j'ai une classe Player qui contient le nom, la team et les scores du joueur.

    La où je bloque un peu c'est comment associer tel joueur a tel bouton pour faire des fonction du genre "quand click sur tel bouton, il faut interagir sur tel joueur"

    merci de votre aide

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    RE bonjour a tous.

    J'ai un gros problème au niveau de mes Dialog.
    J'ai pourtant fait comme on a appris en cours, j'ai une fonction onCreateDialog(int id) et celle ci est appeler lorsque je clic sur un de mes ImageButton grace a showDialog(id).

    Mon problème est que je voudrais que le Dialog affiche un contenu dynamiquement mais une fois créer il affiche tout le temps la même chose !
    A chaque fois que je vais cliquer sur un bouton ça va appeler showDialog(id) qui va m'afficher le Dialog précédemment crée au lieu de m'en recréer un nouveau avec les valeurs dynamique dont j'ai besoin.

    Je ne sais vraiment pas comment faire sur ce coup

    EDIT: bon bah je viens de trouver une solution : j'utilise removeDialog(id) juste avant showDialog(id) comme ça au lieu de mettre a jour le contenu il va le supprimer et le recréer.
    J'attends tout de même vos avis s'il y a une meilleure façon de faire.

  9. #9
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Lorsque ton dialogue est crée une première fois pour le modifier par la suite ou lorsque tu le ré-affiches avec d'autre données, il faut que tu changes celui-ci dans la procédure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    protected void onPrepareDialog (int id, Dialog dialog)
    http://developer.android.com/referen....app.Dialog%29

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Points : 494
    Points
    494
    Par défaut
    Bonjour,
    Est ce que tu peux nous montrer un peu ton code ?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Je vous montre une partie du code (je vous préviens c'est sale..)
    En gros j'ai une fonction startGame() qui va charger tous les widget ImageButton de la teamA et de la TeamB et va leur affecter un onClick qui appelera le dialog.
    Ensuite j'ai la fonction onCreateDialog qui va créer un dialogue avec comme titre le nom du joueur, sa team, la question en cours, et contient 3 boutons pour attribuer des points.
    Mais si on a cliqué sur un joueur a qui ce n'est PAS le tour de répondre, on ne pourra lui attribuer que 1 ou 0 point.
    Voila j'espère que vous arriverai a comprendre mon code :

    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
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
     
    ////////////////////////////////////////////////////////////
        public void startGame() {
     
        	// set action on team A buttons click
        	for (int i = 0; i < TA_ImageButtons.length ; i++) {
    			final ImageButton myButton = TA_ImageButtons[i];
    			myButton.setOnClickListener(
        			new OnClickListener() {
     
    					@Override
    					public void onClick(View v) {
    						//create a dialog with question
    						if (PlayersOrder[whosTurn].getName() == myButton.getTag()) {
    					     	removeDialog(myButton.getId());
    							showDialog(myButton.getId());
    						}
    						else {
    							for (int i=0; i < PlayersOrder.length; i++) {
    								if (PlayersOrder[i].getName() == myButton.getTag())
    									otherPlayer = PlayersOrder[i];
    							}
    							isAnotherPlayerAnswering = true;
    					     	removeDialog(myButton.getId());
    							showDialog(myButton.getId());
    						}
    					}
    				});
        	}
     
        	// set action on team B buttons click
        	for (int i = 0; i < TB_ImageButtons.length ; i++) {
    			final ImageButton myButton = TB_ImageButtons[i];
    			myButton.setOnClickListener(
        			new OnClickListener() {
     
    					@Override
    					public void onClick(View v) {
    						//create a dialog with question
    						if (PlayersOrder[whosTurn].getName() == myButton.getTag()) {
    					     	removeDialog(myButton.getId());
    							showDialog(myButton.getId());
    						}
    						else {
    							for (int i=0; i < PlayersOrder.length; i++) {
    								if (PlayersOrder[i].getName() == myButton.getTag())
    									otherPlayer = PlayersOrder[i];
    							}
    							isAnotherPlayerAnswering = true;
    					     	removeDialog(myButton.getId());
    							showDialog(myButton.getId());							
    						}
     
    					}
    				});
        	}
     
        }
     
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // Create the dialog
        public Dialog onCreateDialog(int id) {
    	    Dialog dialog = null;
     
    	    if (!isAnotherPlayerAnswering) {
    		    String title = PlayersOrder[whosTurn].getName()+", "+PlayersOrder[whosTurn].getTeam();		    	    
    	        AlertDialog.Builder builder = new AlertDialog.Builder(this);
    	        builder.setMessage(question[qnumber])
    	        	.setTitle(title)
    	        	.setCancelable(true)
    	        	.setPositiveButton("2 points", new DialogInterface.OnClickListener() {
    	        		public void onClick(DialogInterface dialog, int id) {
    	        			PlayersOrder[whosTurn].setScore1( PlayersOrder[whosTurn].getScore1()+2 );
     
    	        			if (PlayersOrder[whosTurn].getTeam() == "Team A" ) {
    	        				ScoresRound.setScoreTeamA(ScoresRound.getScoreTeamA()+2);
    	        				ScoresMatch.setScoreTeamA(ScoresMatch.getScoreTeamA()+2);
    	        				teamAhouse++;
    	        			}
    	        			else {
    	        				ScoresRound.setScoreTeamB(ScoresRound.getScoreTeamB()+2);
    	        				ScoresMatch.setScoreTeamB(ScoresMatch.getScoreTeamB()+2);
    	        				teamBhouse++;
    	        			}
     
    	        			updateGame();
     
                       }
                   })
                   .setNeutralButton("1 point", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                    	   PlayersOrder[whosTurn].setScore2( PlayersOrder[whosTurn].getScore2()+1 );
     
    	        			if (PlayersOrder[whosTurn].getTeam() == "Team A" ){
    	        				ScoresRound.setScoreTeamA(ScoresRound.getScoreTeamA()+1);
    	        				ScoresMatch.setScoreTeamA(ScoresMatch.getScoreTeamA()+1);	        			
    	        			}
    	        			else {
    	        				ScoresRound.setScoreTeamB(ScoresRound.getScoreTeamB()+1);
    	        				ScoresMatch.setScoreTeamB(ScoresMatch.getScoreTeamB()+1);	        			
    	        			}
     
                    	   updateGame();
     
                       }
                   })
    	           .setNegativeButton("No point!", new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int id) {
                    	   updateGame();
                       }
                   });
    	        dialog = builder.create();
    	    }
    	    else {
     
    	    	String title2 = otherPlayer.getName()+", "+otherPlayer.getTeam();		    	    
            	AlertDialog.Builder builder2 = new AlertDialog.Builder(this);
    	    	builder2.setMessage(question[qnumber])
    				.setTitle(title2)
    				.setCancelable(false)
    				.setPositiveButton("1 point", new DialogInterface.OnClickListener() {
    					public void onClick(DialogInterface dialog, int id) {			  
    						otherPlayer.setScore2( otherPlayer.getScore2()+1 );
     
    						if (otherPlayer.getTeam() == "Team A" ){
    							ScoresRound.setScoreTeamA(ScoresRound.getScoreTeamA()+1);
    							ScoresMatch.setScoreTeamA(ScoresMatch.getScoreTeamA()+1);	        			
    						}
    						else {
    							ScoresRound.setScoreTeamB(ScoresRound.getScoreTeamB()+1);
    							ScoresMatch.setScoreTeamB(ScoresMatch.getScoreTeamB()+1);	        			
    						}
     
    			    	   updateGame();
    					}
    				})
    			   .setNegativeButton("No point!", new DialogInterface.OnClickListener() {
    				   public void onClick(DialogInterface dialog, int id) {
    	            	   updateGame();
    			       }
    			   });
    			dialog = builder2.create();
     
    	    }
     
    	    return dialog;
    	}// end of onCreateDialog

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Bonjour a tous,

    Bon je ne sais pas si mon code était compréhensible..
    J'ai d'autres questions a vous posez.

    J'aimerai savoir comment faire pour désactiver un item du menu a un certain moment de l'application.
    Car je doit faire en sorte que le premier item de mon menu ne soit disponible que au début de la partie donc je voudrais pouvoir le désactiver par exemple a partir du moment ou je clic sur le premier bouton et que ma première question apparait.

    Voila merci de votre aide depuis le début
    j'arrive presque à la fin de mon projet.

    EDIT: ah et aussi j'aimerai savoir une deuxième chose, est-il possible de créer un timer de 10 secondes le démarrer lorsque un Dialog s'ouvre et au bout de ces 10 secondes faire en sorte que l'un des boutons du Dialog soit désactivé ? Merci

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Points : 494
    Points
    494
    Par défaut
    Bonjour,
    Pour ton item, si tu veux qu'il reste afficher mais qu'on ne puisse pas appuyer dessus, tu devrais regarder la fonction setEnable().

    Pour l'histoire du bouton c'est pareil et pour la gestion du temps, je pense que tu peux utiliser le chronomètre d'android http://developer.android.com/referen...ronometer.html

    Par contre j'aurai une petite question, je débute également et ça m'a un peu surpris de voir que tous les dialogs sont crées avant. Personnellement je les crée à la demande. Quelle est l’intérêt de les créer avant (gain de temps, ...) ou alors à la demande (gain de place) ? Y a-t-il une méthode à préconiser ou ou tout dépend de la situation ?

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par AndroChristophe Voir le message
    Par contre j'aurai une petite question, je débute également et ça m'a un peu surpris de voir que tous les dialogs sont crées avant. Personnellement je les crée à la demande. Quelle est l’intérêt de les créer avant (gain de temps, ...) ou alors à la demande (gain de place) ? Y a-t-il une méthode à préconiser ou ou tout dépend de la situation ?
    Honnêtement je ne saurais pas te répondre, c'est juste la façon qu'on nous a appris en cours pour créer des Dialog donc je pensais que c'était la seule façon.

    En ce qui concerne le setEnable() pour l'item de mon menu, mon problème est que je n'ai pas accès a l'item en dehors de la fonction de création du menu.
    Je ne sais donc pas comment le désactiver de n'importe où dans le code.

  15. #15
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,
    Par contre j'aurai une petite question, je débute également et ça m'a un peu surpris de voir que tous les dialogs sont crées avant. Personnellement je les crée à la demande. Quelle est l’intérêt de les créer avant (gain de temps, ...) ou alors à la demande (gain de place) ?
    Ils ne sont pas crées avant , juste cela te permet de centraliser tes dialogues , ce qui a le mérite d'être plus clair .

    Ils sont crées lors du premier appel au dialogue.

    Après comme avantage tu as la gestion dans le OnPrepare et le fait que le dialogue reste en mémoire , gain de temps si tu l'affiches plusieurs fois .

    Deuxième gros avantage , par ce système il garde en mémoire les dialogues affichés , donc lors d'une rotation il gère tout seul le ré-affichage de ton dialogue .

    Y a-t-il une méthode à préconiser ou ou tout dépend de la situation ?
    Je pense que cette méthode est à préconiser. (c'est quand même plus lisible)

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Donc j'aimerai bien utiliser cette fonction onPrepareDialog plutôt que de les supprimer a chaque fois mais je ne comprend pas trop comment l'appeler.
    Par exemple dans le bout de code que j'ai donné la il faudrait que je l'appel dans le onClick de mes imagebutton mais comment l'appeler ?
    Que doit-je mettre pour les arguments : (int id, Dialog dialog) ?

    Merci

  17. #17
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Donc j'aimerai bien utiliser cette fonction onPrepareDialog plutôt que de les supprimer a chaque fois mais je ne comprend pas trop comment l'appeler.
    En fait tu ne l'appelles pas directement , il te suffit de faire un ShowDialog(int dialog), comme la première fois .

    Lors du premier appel du dialogue tu passes dans le onCreate , après c'est le onPrepare qui est appelé. Donc il te suffit d'implémenter comme dans le onCreate ton dialogue sauf que cette fois ci tu l'as dans les paramètres d'entrée , il te suffit dès lors de modifier ce paramètres.

    http://developer.android.com/guide/t...i/dialogs.html

  18. #18
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 25
    Points : 10
    Points
    10
    Par défaut
    Merci beaucoup je vais essayer !

    EDIT: bon la fonction onPrepareDialog fonctionne pour mettre a jour le titre et le contenu texte du dialog mais malheureusement j'ai un soucis avec les boutons. Il me garde le même nombre de bouton que lors de la première création et je doit en avoir 3 ou 2 selon si c'est le tour du joueur ou pas.
    Donc quand je clic sur un joueur a qui c'est le tour j'ai trois bouton, ensuite quand son tour passe et que je clic sur lui un nouvelle fois j'ai toujours 3 boutons au lieu de 2.

    EDIT2: et ducoup dans le même esprit j'ai utilisé onPrepareOptionMenu() pour modifier mon item Menu.FIRST et le désactiver quand je le souhaite

  19. #19
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Points : 494
    Points
    494
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Je pense que cette méthode est à préconiser. (c'est quand même plus lisible)
    Merci beaucoup pour cette explication, je vais faire comme cela dorénavant.


    Honnêtement je ne saurais pas te répondre, c'est juste la façon qu'on nous a appris en cours pour créer des Dialog donc je pensais que c'était la seule façon.
    C'est l'avantage d'avoir des cours à l'école sur Android, on apprend directement les bonnes manières au niveau de la structure. J'aurais bien aimé que mon école fasse ça

  20. #20
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    EDIT: bon la fonction onPrepareDialog fonctionne pour mettre a jour le titre et le contenu texte du dialog mais malheureusement j'ai un soucis avec les boutons. Il me garde le même nombre de bouton que lors de la première création et je doit en avoir 3 ou 2 selon si c'est le tour du joueur ou pas.
    Donc quand je clic sur un joueur a qui c'est le tour j'ai trois bouton, ensuite quand son tour passe et que je clic sur lui un nouvelle fois j'ai toujours 3 boutons au lieu de 2.
    Déjà première remarque dans le onCreate et le onPrepare ne te sers pas du boolean isAnotherPlayerAnswering pour savoir dans quel cas tu es .

    fais un switch sur l'id appelé , et lors de l'appel du showDialog appelle le dialogue correspond a tes attentes .

    Comme cela dans le onPrepare tu récupérer l'id du dialogue et tu seras dans quel dialogue tu es en train de travailler .

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [BPEL] Conseil pour structurer mon processus
    Par <yassou> dans le forum Services Web
    Réponses: 0
    Dernier message: 29/05/2015, 18h42
  2. [Débutant] Aide et conseils pour un projet en Matlab
    Par Konow dans le forum MATLAB
    Réponses: 6
    Dernier message: 21/02/2010, 23h15
  3. [Conception] Besoin d'un conseil pour structurer ma base
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/01/2008, 15h02
  4. conseil pour structurer un xml
    Par jbat dans le forum Delphi
    Réponses: 2
    Dernier message: 14/07/2006, 08h49
  5. Aide/conseil pour CV
    Par Tankian dans le forum CV
    Réponses: 4
    Dernier message: 12/03/2006, 23h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo