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 :

Plusieurs activity [Débutant(e)]


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Software Engineer
    Inscrit en
    Février 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 139
    Par défaut Plusieurs activity
    Bonjour,

    JE cherche a faire une application avec plusieurs pages mais je n'arrive pas a naviguer parmi elles. Je pense que je ne dois pas fermer quelque chose au niveau de la première Activity car l'appui sur le premier bouton marche mais les autres bug ensuite.

    Voici le code java (le xml doit être bon normalement) :

    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
    public class MainActivity extends Activity {
     
     
    ////////////////CREATION ACTIVITE////////////////	
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    	  super.onCreate(savedInstanceState);
    	  setContentView(R.layout.activity_main);
     
    	  final ImageView edtbutton = (ImageView) findViewById(R.id.edt);
    	  final ImageView notebutton = (ImageView) findViewById(R.id.note);
    	  final ImageView coursbutton = (ImageView) findViewById(R.id.cours);
    	  final ImageView tdbutton = (ImageView) findViewById(R.id.td);
    	  final ImageView tpbutton = (ImageView) findViewById(R.id.tp);
     
    	  edtbutton.setOnClickListener(new OnClickListener() {
     
    		  @Override
    		  public void onClick(View v) {
     
    			  if(v == (View) findViewById(R.id.edt)){
    				  Intent intentedt = new Intent(MainActivity.this, EdtActivity.class);
    				  startActivity(intentedt);
    			  }
     
    			}
    	  });
     
     
    	  notebutton.setOnClickListener(new OnClickListener() {
     
    		  @Override
    		  public void onClick(View v) {
     
    			  if(v == (View) findViewById(R.id.note)){
    				  Intent intentnote = new Intent(MainActivity.this, NoteActivity.class);
    				  startActivity(intentnote);
    			  }
     
    			}
    	});
     
    	  coursbutton.setOnClickListener(new OnClickListener() {
     
    		  @Override
    		  public void onClick(View v) {
     
    			  if(v == (View) findViewById(R.id.cours)){
    				  Intent intentcours = new Intent(MainActivity.this, CoursActivity.class);
    				  startActivity(intentcours);
    			  }
     
    			}
    	});
     
    	  tdbutton.setOnClickListener(new OnClickListener() {
     
    		  @Override
    		  public void onClick(View v) {
     
    			  if(v == (View) findViewById(R.id.td)){
    				  Intent intenttd = new Intent(MainActivity.this, TdActivity.class);
    				  startActivity(intenttd);
    			  }
     
    			}
    	});
     
    	  tpbutton.setOnClickListener(new OnClickListener() {
     
    		  @Override
    		  public void onClick(View v) {
     
    			  if(v == (View) findViewById(R.id.tp)){
    				  Intent intenttp = new Intent(MainActivity.this, TpActivity.class);
    				  startActivity(intenttp);
    			  }
     
    			}
    	});
     
     
    	   }
    ////////////////FIN CREATION ACTIVITE////////////////   
     
    }

    Merci d'avance.
    Thomas

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    le coup du test sur v == findViewById() n'est pas très utile puisqu'il y a 1 seul listener par bouton, ce sera forcément le bon....

    D'autre part, il serait plus judicieux de le faire dans l'autre sens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (v.getId() == R.id.cours)


    Sinon, c'est quoi qui "bug"... parce que bon... ca ne veut pas dire grand chose ... le téléphone explose ? redémarre ? rien ne se passe ? l'application "crashe" (doit être arrêtée),... y a t il un logcat ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 144
    Par défaut
    Ce serait beaucoup plus propre et compréhensible, voire même plus fonctionnel, en utilisant :
    - un seul listenner
    - la méthode v.getId() pour différencier les boutons


    Exemple en implémentant l'interface :

    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
     
    public class MainActivity extends Activity implements OnClickListener
    {
     
    	@Override
    	public void onCreate(Bundle savedInstanceState)
    	{
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
     
    		final ImageView edtbutton = (ImageView) findViewById(R.id.edt);
    		final ImageView notebutton = (ImageView) findViewById(R.id.note);
    		final ImageView coursbutton = (ImageView) findViewById(R.id.cours);
    		final ImageView tdbutton = (ImageView) findViewById(R.id.td);
    		final ImageView tpbutton = (ImageView) findViewById(R.id.tp);
     
    		edtbutton.setOnClickListener(this);
    		notebutton.setOnClickListener(this);
    		coursbutton.setOnClickListener(this);
    		tdbutton.setOnClickListener(this);
    		tpbutton.setOnClickListener(this);
    	}
     
    	@Override
        public void onClick(View v)
        {
    		Intent intent;
     
    	    switch (v.getId())
            {
    			case R.id.edt:	
    				intent = new Intent(MainActivity.this, EdtActivity.class);				  
    				break;
     
    			case R.id.note:		
    				intent = new Intent(MainActivity.this, NoteActivity.class);	
    				break;
     
    			case R.id.cours:	
    				intent = new Intent(MainActivity.this, CoursActivity.class);	
    				break;
     
    			case R.id.td:	
    				intent = new Intent(MainActivity.this, TdActivity.class);	
    				break;
     
    			case R.id.tp:	
    				intent = new Intent(MainActivity.this, TpActivity.class);	
    				break;
    		}
     
    	    startActivity(intent);
     
        }
     
    }

  4. #4
    Membre confirmé
    Homme Profil pro
    Software Engineer
    Inscrit en
    Février 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 139
    Par défaut
    Merci de vos réponses je test ce soir.

    Sinon pour le bug, dès que j'appuis sur un bouton de menu autre que edt, l'appli plante.

    Merci

  5. #5
    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
    Pourrais tu nous montrer ton logcat ?


  6. #6
    Membre confirmé
    Homme Profil pro
    Software Engineer
    Inscrit en
    Février 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 139
    Par défaut
    Je fais ça dès que rentre merci

  7. #7
    Membre confirmé
    Homme Profil pro
    Software Engineer
    Inscrit en
    Février 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 139
    Par défaut
    Bonjour,

    Voici pour le logcat, la methode que l'on m'a donné ne change rien au bug :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [2013-02-26 13:27:43 - hfzd] New emulator found: emulator-5554
    [2013-02-26 13:27:43 - hfzd] Waiting for HOME ('android.process.acore') to be launched...
    [2013-02-26 13:28:11 - hfzd] HOME is up on device 'emulator-5554'
    [2013-02-26 13:28:11 - hfzd] Uploading hfzd.apk onto device 'emulator-5554'
    [2013-02-26 13:28:12 - hfzd] Installing hfzd.apk...
    [2013-02-26 13:28:37 - hfzd] Success!
    [2013-02-26 13:28:37 - hfzd] Starting activity com.example.hfzd.MainActivity on device emulator-5554
    [2013-02-26 13:28:39 - hfzd] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.hfzd/.MainActivity }
    Edit : Par ailleur je commence a me demander si le problème ne vient pas du code des autres classes ?

Discussions similaires

  1. Lancer plusieurs activity depuis la même page
    Par cp-08jhu dans le forum Android
    Réponses: 2
    Dernier message: 27/10/2011, 18h15
  2. Partager des données entre plusieurs activities
    Par Christophe Charron dans le forum Android
    Réponses: 9
    Dernier message: 31/08/2011, 22h26
  3. Réponses: 7
    Dernier message: 15/03/2011, 19h51
  4. Création plusieurs activity
    Par user2000 dans le forum Android
    Réponses: 3
    Dernier message: 08/12/2010, 21h46
  5. Réponses: 4
    Dernier message: 18/10/2010, 11h10

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