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 :

passer un Bundle


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 521
    Par défaut passer un Bundle
    Bonjour,

    J'aimerais passer un Bundle d'une activité à une sous activité pour en modifié des valeurs, afin de pouvoir retrouver ces valeurs dans l'activité principale.
    Seulement, ma valeur n'est pas transmise :

    activité principale :

    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
     
     
        Bundle extras;
     
     
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
     
            ...
            extras = new Bundle();
            extras.putInt("key1", 7 );
            ...
     
        }
    sous activité :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            ...
            Bundle extras = getIntent().getExtras();
            extras.putInt("key1", 1789);
            ...
     
            setResult(1);
        }
    mon code reste "7", donc il n'est pas transmis.

    Savez vous d'où cela pourrait venir ?

    Merci si vous pouvez m'aider.

  2. #2
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Parce que dans la sous-activité c'est :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    intent = new Intent();
    intent.putExtra("key1", 7);
    setResult(1, intent);

    Et que dans l'activité principale, la récupération se fait dans la méthode onActivityResult(), et nulle part ailleurs.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2014
    Messages : 521
    Par défaut
    Merci pour ta réponse...

    Merci, ca marche. J'ai du mal a comprendre pourquoi recréer un Intent dans la sous-activité, n'est-il pas importé avec la methdode getIntent() ?

  4. #4
    Membre Expert
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Par défaut
    Oui, bien sûr, tu peux réutiliser le même Intent.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  5. #5
    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
    On peut tout à fait réutiliser le même intent.

    Les "Intent" permettent quelques subtilités, entre autre de gestion de droits, et de partage de données entre application.
    Il ne faut pas voir une "Application" Android comme une application windows, un .exe monolithique... une "Application" android est une liste d'activités qui répondent à des solicitations (Intent) de l'utilisateur.
    Si deux applications peuvent répondre au même Intent, le système demandera son choix à l'utilisateur.

    Donc de base le passage d'une activité à une autre se fait par Intent ce qui permet d'être sur que l'activité destinataire recevra bien les données, qu'elle aura les droits dessus (partager un fichier image "privé" par exemple), etc...
    D'ou le passage par bundle etc...

    C'est vrai que pour rester dans la même application c'est un peu lourdingue, mais c'est comme cela que tout le système fonctionne.

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

Discussions similaires

  1. Passer un projet de la version 6 à la version 7
    Par clisson dans le forum XMLRAD
    Réponses: 2
    Dernier message: 10/02/2003, 11h37
  2. Passer de la zone d'édition vers une instruction sql
    Par tripper.dim dans le forum C++Builder
    Réponses: 2
    Dernier message: 27/11/2002, 14h44
  3. pk passer de mysql à postgre
    Par pioums dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 03/10/2002, 10h31
  4. Passer du Pascal à Delphi
    Par poppels dans le forum Langage
    Réponses: 7
    Dernier message: 30/08/2002, 21h07
  5. Passer en mode 800*600
    Par flavien tetart dans le forum Assembleur
    Réponses: 8
    Dernier message: 30/05/2002, 23h05

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