2017-10-17 4 views
0

Je crée une application destinée à aider l'utilisateur à pratiquer le vocabulaire. Il a 6 activités, qui sont appelées «Activité1», «Activité2», etc.Passer d'une activité à l'autre

L'activité 3 commence à rassembler des informations et les place dans un tableau de chaînes. Ceci est passé aux activités suivantes en utilisant Bundle. Après une évaluation dans Activity6, l'un des boutons permet à l'utilisateur de revenir à Activity4 pour répéter l'exercice. J'essaie d'y arriver en créant une nouvelle intention qui pointe vers Activity3, mais sur l'émulateur, j'obtiens le message suivant: «Malheureusement, l'application s'est arrêtée». Je ne peux vraiment pas comprendre pourquoi. Puis-je pointer plus d'une intention vers la même activité, ou y a-t-il un problème à le faire? (Activity2 et Activity6 pointent maintenant sur Activity3).

enter image description here

Malheureusement, je ne suis pas encore aussi familier avec l'utilisation Log.Cat que je devrais. Je vais travailler dessus, pendant ce temps j'envoie du code. Affichage tout le code est probablement beaucoup, mais voici le code que je pense est pertinent:

En Activity2 J'utilise le code suivant pour créer une intention, et de transmettre des informations à activité3:

btnEnd.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 

vocabularyArray[arraySize]editForeignWord.getText().toString(); 
vocabularyArray[100 + arraySize] = 
editTranslation.getText().toString(); 

Bundle b = new Bundle(); 
b.putStringArray("vocabularyArrayToPass", vocabularyArray); 
b.putInt("array_size", arraySize); 
      Intent intentGoTo3 = new Intent(Activity2.this, 
Activity3.class); 
      intentGoTo3.putExtras(b); 
      startActivity(intentGoTo3); 
     } 
    }); 

et Activity6 J'utilise le code suivant pour revenir à activité3:

btnAgain.setOnClickListener(new View.OnClickListener() { 
@Override 
public void onClick(View v) { 
    Intent intentGoTo3 = new Intent(Activity6.this,Activity3.class); 
      startActivity(intentGoTo3); 
     } 
    }); 
+0

Quelle erreur obtenez-vous? – AbhayBohra

+0

Je reçois l'erreur suivante sur l'écran de l'émulateur: «Malheureusement, l'application s'est arrêtée» Je ne reçois aucune erreur i Android Studio. – user820913

+0

oui mais je demande la raison..put votre logcat ici – AbhayBohra

Répondre

1

Je ne pense pas qu'il y ait un problème avec votre code, il est parfait. Vous devriez essayer de vérifier l'erreur du chat de journal. Vous pouvez y arriver en suivant cette étape: Android Studio :: Sur Downside dans le studio android, vous pouvez voir onglet "Android Monitor". Donc, lorsque vous cliquez sur ce menu, vous pouvez voir le menu du chat de journal et après cela, vous pouvez faire défiler vers le haut ou défiler vers le bas pour l'erreur. Les erreurs seront affichées en couleur ROUGE.

+0

Merci! Il semblait que le problème était que Activity3 s'attendait à extraire l'intention entrante qui n'a jamais été envoyée par Activity6. (nullpointerexeption) – user820913

+0

Heureux que ma réponse vous aide avec votre code et je pense que votre problème, vous pouvez écrire cette condition de vérification nulle dans activity3. if (intention! = Null) { // votre code } Après cela, vous pourriez ne pas avoir l'erreur. –