Intent qui ne transmet pas de donnée
Résolu
samigtx1459
Messages postés
482
Date d'inscription
Statut
Membre
Dernière intervention
-
samigtx1459 Messages postés 482 Date d'inscription Statut Membre Dernière intervention -
samigtx1459 Messages postés 482 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
J'ai un problème lorsque je passe d'une activité à une autre. J'essaie de transmettre une donnée qui est seulement une ID avec un Bundle et un Intent mais lorsque j'essaie de récupérer ma valeur il ne récupère rien et je ne sais pas pourquoi...
Merci à tout ceux qui pourront me venir en aide.
Voici deux parties de mes codes qui seront utiles je pense pour que vous puissiez me dire ou ça cloche.
Partie qui transmet la valeur:
Partie qui est censé récupérer la valeur :
J'ai un problème lorsque je passe d'une activité à une autre. J'essaie de transmettre une donnée qui est seulement une ID avec un Bundle et un Intent mais lorsque j'essaie de récupérer ma valeur il ne récupère rien et je ne sais pas pourquoi...
Merci à tout ceux qui pourront me venir en aide.
Voici deux parties de mes codes qui seront utiles je pense pour que vous puissiez me dire ou ça cloche.
Partie qui transmet la valeur:
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Bundle data = new Bundle(); data.putInt("idMusic",position); Intent openMainActivity = new Intent(Main2Activity.this,MainActivity.class); openMainActivity.putExtras(data); openMainActivity.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivityIfNeeded(openMainActivity,0); } });
Partie qui est censé récupérer la valeur :
@Override protected void onResume() { super.onResume(); Intent intent = getIntent(); int newIdCurrentSound; if (intent != null) { Bundle data = intent.getExtras(); if (data != null) { newIdCurrentSound = data.getInt("idMusic"); System.out.println("New ID : " + newIdCurrentSound); if (newIdCurrentSound != -1) { mediaPlayer.reset(); idCurrentSound = newIdCurrentSound; playSound(idCurrentSound); } } } }
A voir également:
- Intent qui ne transmet pas de donnée
- Supprimer les données de navigation - Guide
- Service de diffusion de données - Forum TNT / Satellite / Réception
- Barre de données excel pourcentage 100 ✓ - Forum Excel
- Cette valeur ne correspond pas aux restrictions de validation des données pour cette cellule ✓ - Forum Excel
- Tnt base de données vide ✓ - Forum TNT / Satellite / Réception
1 réponse
Hello,
Généralement, on n'utilises pas de Bundle intermédiaire pour passer des types simples
Envoi de paramètres
Réception des paramètres (dans le
Note : la variable EXTRA_MUSIC_ID_KEY est en fait une constante que tu aura pris soin d'initialiser correctement .
Or, le flag
Généralement, on n'utilises pas de Bundle intermédiaire pour passer des types simples
Envoi de paramètres
Intent intent = new Intent(this, SecondActivity.class); intent.putExtra(EXTRA_MUSIC_ID_KEY, idMusic); startActivity(intent);
Réception des paramètres (dans le
onCreate()de ta 2nde Activity)
Intent intent = getIntent(); // gets the previously created intent int idMusic = intent.getIntExtra(EXTRA_MUSIC_ID_KEY);
Note : la variable EXTRA_MUSIC_ID_KEY est en fait une constante que tu aura pris soin d'initialiser correctement .
Or, le flag
Intent.FLAG_ACTIVITY_REORDER_TO_FRONTte permet de ré-afficher une Activity déjà créé. Donc, tu ne passes pas dans le
onCreate()mais dans le
onNewIntent().
samigtx1459
Messages postés
482
Date d'inscription
Statut
Membre
Dernière intervention
67
Merci beaucoup pour ta réponse, j'ai enfin résolu mon problème !!!