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

Composants graphiques Android Discussion :

Faire un menu.


Sujet :

Composants graphiques Android

  1. #1
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut Faire un menu.
    Bonjour,

    J'ai une appli qui affiche les RSS de mon site.
    Je voudrais ajouter un menu avec simplement Quitter et A propos.
    J'ai essayé de suivre le tuto mais, je ne sais pas trop comment ajouter le code java.
    Quelqu'un pourrait-il m'aider svp, ce n'est pas très clair.

    Merci d'avance,
    Très cordialement,

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web et Mobile
    Inscrit en
    Juin 2010
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web et Mobile

    Informations forums :
    Inscription : Juin 2010
    Messages : 76
    Par défaut
    Citation Envoyé par lostsoul Voir le message
    J'ai essayé de suivre le tuto mais, je ne sais pas trop comment ajouter le code java.
    Mais ton application est en JAVA à la base ?

  3. #3
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    Bien sur, en java et xml.
    Mais comme je débute vraiment avec Android...

  4. #4
    Expert confirmé

    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
    Par défaut
    Bonjour,

    Tu as quelques exemples sur le forum, fais une recherche sur 'menu'.

    Après tu as l'exemple donné par la documentation officielle :
    http://developer.android.com/guide/topics/ui/menus.html

    Et un tuto sur le site :
    http://a-renouard.developpez.com/tut...enu-sous-menu/

    Maintenant si tu as un souci sur un élément en particulier fais nous en part .

  5. #5
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    J'ai voulu m'inspirer du tuto sur le site, mais, c'est le code java que je ne sais pas ou mettre, dans quel fichier...
    Je voudrais un menu simple avec A propos et Quitter.

  6. #6
    Expert confirmé

    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
    Par défaut
    Bonjour,

    Si tu regardes bien l'exemple donné par le tutoriel de Axon, tu verras qu'il rajoute son menu dans l'activity où il souhaite que celui soit affiché. De plus son menu est simple("Quitter", "Option") .

  7. #7
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    D'accord, merci, je n'avais pas fais attention à cela...
    J'ai rajouté la partie gérant le menu dans le fichier principal de mon appli, ça me parait logique, mais, j'ai des soucis. Il semble que se soit des { qui posent pbm, mais je ne vois pas ou. En espérant déjà que j'ai ajouté le code ou il fallait :

    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
    148
    149
    150
    151
    152
    153
     
    package com.andreani;
     
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
     
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.Dialog;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.TextView;
     
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.widget.Toast;
     
     
    public class andreani extends Activity {
     
    	public static RssItem selectedRssItem = null;
    	String feedUrl = "http://andre-ani.fr/feed";
    	ListView rssListView = null;
    	ArrayAdapter<RssItem> aa = null;
    	ArrayList<RssItem> rssItems = RssItem.getRssItems(feedUrl);
     
     
     
    	public static final int RssItemDialog = 1;
     
    	/** Called when the activity is first created. */
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
     
    	}		
     
    		//
    		// ajout menu
    		//
     
    		 //Méthode qui se déclenchera lorsque vous appuierez sur le bouton menu du téléphone
    	    public boolean onCreateOptionsMenu(Menu menu) {
     
    	        //Création d'un MenuInflater qui va permettre d'instancier un Menu XML en un objet Menu
    	        MenuInflater inflater = getMenuInflater();
    	        //Instanciation du menu XML spécifier en un objet Menu
    	        inflater.inflate(R.layout.menu, menu);
     
    	        //Il n'est pas possible de modifier l'icône d'en-tête du sous menu via le fichier XML on le fait donc en JAVA
    	    	menu.getItem(0).getSubMenu().setHeaderIcon(R.drawable.option_white);
     
    	        return true;
    	     }
     
    	       //Méthode qui se déclenchera au clic sur un item
    	      public boolean onOptionsItemSelected(MenuItem item) {
    	         //On regarde quel item a été cliqué grâce à son id et on déclenche une action
    	         switch (item.getItemId()) {
    	            case R.id.option:
    	               Toast.makeText(andreani.this, "Option", Toast.LENGTH_SHORT).show();
    	               return true;
    	            case R.id.favoris:
    	                Toast.makeText(andreani.this, "Favoris", Toast.LENGTH_SHORT).show();
    	                return true;
    	           case R.id.quitter:
    	               //Pour fermer l'application il suffit de faire finish()
    	               finish();
    	               return true;
    	         }
    	         return false;}		
    }	
     
     
     
    		//
    		// fin menu
    		//
     
     
     
    		// get the listview from layout.xml
    		rssListView = (ListView) findViewById(R.id.rssListView);
    		// here we specify what to execute when individual list items clicked
    		rssListView.setOnItemClickListener(new OnItemClickListener() {
     
    			@Override
    			public void onItemClick(AdapterView<?> av, View view, int index,
    					long arg3) {
    				selectedRssItem = rssItems.get(index);
    				Intent intent = new Intent(getBaseContext(), Affiche.class);
    				String lien = rssItems.get(index).getLink().toString();
    				intent.putExtra("UrlString", lien);
    				startActivity(intent);
    			}
    		});
     
    		aa = new ArrayAdapter<RssItem>(this, R.layout.list_item, rssItems);
    		rssListView.setAdapter(aa);
    		refressRssList();
    	}
     
    	protected Dialog onCreateDialog(int id, Bundle args) {
    		// TODO Auto-generated method stub
    		switch (id) {
    		case RssItemDialog: {
    			LayoutInflater li = LayoutInflater.from(this);
    			View rssDetails = li.inflate(R.layout.rss_details, null);
    			AlertDialog.Builder rssDialog = new AlertDialog.Builder(this);
    			rssDialog.setTitle("Article");
    			rssDialog.setView(rssDetails);
    			return rssDialog.create();
    		}
    		}
     
    		return null;
    	}
     
    	protected void onPrepareDialog(int id, Dialog dialog, Bundle args) {
    		// TODO Auto-generated method stub
    		switch (id) {
    		case RssItemDialog: {
    			AlertDialog rssDialog = (AlertDialog) dialog;
    			SimpleDateFormat sdf = new SimpleDateFormat("MM/dd - hh:mm:ss");
    			rssDialog.setTitle(selectedRssItem.getTitle() + " : "
    					+ sdf.format(selectedRssItem.getPubDate()));
     
    			String text = selectedRssItem.getDescription() + " : "
    					+ selectedRssItem.getLink();
     
    			TextView tv = (TextView) rssDialog
    					.findViewById(R.id.rssDetailsTextView);
    			tv.setText(text);
     
    		}
    		}
    	}
     
    	private void refressRssList() {
    		ArrayList<RssItem> newItems = RssItem.getRssItems(feedUrl);
    		rssItems.clear();
    		rssItems.addAll(newItems);
    		aa.notifyDataSetChanged();
    	}
    }

  8. #8
    Membre expérimenté Avatar de chpil
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 143
    Par défaut
    Ligne 80 de ton extrait de code, il semble que l'accolade fermante soit en trop

  9. #9
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    Oui, mais si je l'enlève, j'ai une nouvelle erreur à la ligne 91 (que je n'avais pas avant d'ajouter le code du menu) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Syntax error on token "rssListView", VariableDeclaratorId expected after this token
    C'est pour ça que je ne comprend pas ce pbm d'accolade.

  10. #10
    Membre expérimenté Avatar de chpil
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 143
    Par défaut
    Effectivement, en y regardant de plus près, il semble que tu as insérer le code de gestion du menu un peu n'importe où (au milieu d'une méthode)
    Déplace ce que tu as ajouté (de "/// Ajout menu" à "/// Fin menu") juste avant "protected Dialog onCreateDialog(int id, Bundle args) {", et supprime l'accolade en ligne 44
    Et accessoirement, (ne le prends pas mal) pense à apprendre les bases du langage Java avant de continuer (il y a des tutoriaux sur ce site, par ex.)

  11. #11
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    Ok. Plus d'erreur dans le code. Mais quand je clic sur le bouton menu, l'appli se ferme.
    Le message d'erreur commence par No keyboard for ID 0. Vais voir ça.

    Je ne le prends pas mal ;-)
    Et puis, ce code n'est pas vraiment de moi, je l'ai trouvé sur le net et un tout petit peu adapté.

    Merci beaucoup pour l'aide ;-)

  12. #12
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    Le menu marche.
    Plus qu'a arriver à modifier un peu pour afficher une boite de dialogue A propos au lieu du menu Options.

    Merci beaucoup pour tout ;-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. faire un menu contextuel pour données issue d'1 table
    Par electrosat03 dans le forum Access
    Réponses: 2
    Dernier message: 27/02/2006, 19h41
  2. [CONTEXT_FILETXT] Est-ce bien pour faire un menu contextuel
    Par Furius dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/11/2005, 21h31
  3. 2 problemes pour faire un menu en CSS
    Par Death83 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 12/08/2005, 08h23
  4. [menu]faire un menu déroulant
    Par Nadine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2005, 08h33
  5. Faire disparaître menu lors de l'impression
    Par jackrabbit dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/12/2004, 20h56

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