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 :

récupérer un résultat à partir de subactivity vers l'activité principale


Sujet :

Android

  1. #1
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Décembre 2008
    Messages : 233
    Points : 73
    Points
    73
    Par défaut récupérer un résultat à partir de subactivity vers l'activité principale
    salut salut

    j'ai une activité, à partir duquelle j'ouvre une subacitvity (par un clic sous un menu) cette dernière doit retourner un résultat à l'activité principale (soit un int soit un string ça depend du child activity)
    voici le code que j'utilise, les lignes en rouge je sais pas quel paramètre dois je saisir
    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 boolean onMenuItemSelected( MenuItem item) 
        {
        	
        	switch (item.getItemId())
        	{
        		case 0:
        			Intent i = new Intent(this, Url.class);
        			i.putExtra(xxxx,xxxx );
        			startActivityForResult(i, ACTIVITYurl_REQUEST);
        			return true;
        			
        			
        		case 1:
        			Intent j = new Intent(this, Gallery.class);
        			j.putExtra(xxx,xxxx );
        			startActivityForResult(j, ACTIVITYgallery_REQUEST);
        			return true;
        			
        			
        		case 2:
        			finish();
        			return true;
        		
        	}
        	
        	
        	
        	return false;
        }
     
        
        
        /// receive result/////////////////////////////////////////////////////////
        
        protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
        	
        	super.onActivityResult(requestCode, resultCode, intent); 
        	
        	Bundle extras = intent.getExtras();
        	
        		
        	    if (requestCode == ACTIVITYurl_REQUEST) {
        	       
        	    	if (resultCode ==xxxx ) {
        	    		  String urlReceived = extras.getString(gggg);
    
        	    }
        	    
        	    else if (requestCode == ACTIVITYgallery_REQUEST){
        	    	if (resultCode == xxxx) {
      	    		  int videoSelected = extras.getInt(gfgfgfgf);
    
        	    }
        	    	
        	    }
        	};
    Si vous pouvez m'aider à corriger ce code, merci d'avance.

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Bon allez, c'est la fin de journée, alors vla une piste : (tirer de là : http://developer.android.com/guide/a...#opennewscreen )

    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
     
     
    // Open the new screen.
    public void onClick(View v){
        // Start the activity whose result we want to retrieve.  The
        // result will come back with request code GET_CODE.
        Intent intent = new Intent(this, com.example.app.ChooseYourBoxer.class);
        startActivityForResult(intent, CHOOSE_FIGHTER);
    }
     
    // Listen for results.
    protected void onActivityResult(int requestCode, int resultCode, Intent data){
        // See which child activity is calling us back.
        switch (resultCode) {
            case CHOOSE_FIGHTER:
                // This is the standard resultCode that is sent back if the
                // activity crashed or didn't doesn't supply an explicit result.
                if (resultCode == RESULT_CANCELED){
                    myMessageboxFunction("Fight cancelled");
                } 
                else {
                    myFightFunction(data);
                }
            default:
                break;
        }
    }
     
    // Class SentResult
    // Temporary screen to let the user choose something.
        private OnClickListener mLincolnListener = new OnClickListener(){
            public void onClick(View v) {
                Bundle stats = new Bundle();
                stats.putString("height","6\'4\""); 
                stats.putString("weight", "190 lbs");
                stats.putString("reach", "74\"");
                setResult(RESULT_OK, "Lincoln", stats);
                finish();
            }
        };
     
        private OnClickListener mWashingtonListener = new OnClickListener() {
            public void onClick(View v){
                Bundle stats = new Bundle();
                stats.putString("height","6\'2\""); 
                stats.putString("weight", "190 lbs");
                stats.putString("reach", "73\"");
                setResult(RESULT_OK, "Washington", Bundle);
                finish();
            }
        };
    Bon courage
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Décembre 2008
    Messages : 233
    Points : 73
    Points
    73
    Par défaut
    merci pour la réponse rapide. ouai ça se voit que je suis épuisée en fin de journée

    effectivement j'ai pas compris comment récuper dans l'activité principale le resultat envoyé par le subactivity autrement quelle ligne dans la methode onActivityResult me fournis les data envoyés??

    de plus il y a une erreur dans le code
    The method setResult(int, Intent) in the type Activity is not applicable for the arguments (int, Bundle)
    alors que stats est de type de bundle

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2008
    Messages
    233
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Décembre 2008
    Messages : 233
    Points : 73
    Points
    73
    Par défaut
    désolé, j'ai oublié de poster la réponse
    bon voici: ce code permet de choisir un item à partir d'un menu, ouvre une autre activité..on tape l'url..puis on la récupere dans l'activité principale


    selection de l'item
    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
    @Override
        public boolean onOptionsItemSelected(  MenuItem item) 
        {
        	Log.v(TAG, "option: " + item.getItemId());
        	switch (item.getItemId())
        	{
        		case MENU_URL:
        			Intent i = new Intent(this, Url.class);
        			startActivityForResult(i, ACTIVITYurl_REQUEST);
        			break;
     
     
        		case MENU_GALLERY:
        			Intent j = new Intent(this, Gallery.class);
        			startActivityForResult(j, ACTIVITYgallery_REQUEST);
        			break;
     
     
        		case MENU_EXIT:
        			//finish();
        			break;
     
        	}
     
        	return super.onOptionsItemSelected(item);
        }
    récupération de résultat dans l'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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     /// receive result/////////////////////////////////////////////////////////
     
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
     
        	super.onActivityResult(requestCode, resultCode, intent); 
     
        	Bundle extras = intent.getExtras();
     
     
        	    if (requestCode == ACTIVITYurl_REQUEST) 
     
        	    	if (resultCode ==RESULT_OK ) {
        	    	path2 = extras.getString("urlSended");
        	    	 Log.v(TAG, "path2: " + path2);
        	    	playVideo();}    
     
        	   else if (requestCode == ACTIVITYgallery_REQUEST)
     
        	    	if (resultCode == RESULT_OK) { 
        	    		//int videoSelected = extras.getInt("indexVideo");
        	    		}
     
     
        	}
    et l'envoi du résultat du subactivity :
    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
         mOk.setOnClickListener(new View.OnClickListener() {
                public void onClick(View view) {
     
                	String url=address.getText().toString();
     
                	Bundle stats = new Bundle();
                    stats.putString("urlSended", url); 
                    Intent mIntent = new Intent();
                    mIntent.putExtras(stats);
                	setResult(RESULT_OK, mIntent);
                	finish();
     
     
                }
            });
    bonne apres midi à tous

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/06/2013, 12h30
  2. [XL-2010] Session SSH à partir de VBA et récupérer le résultat
    Par planete.gonz dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/07/2011, 09h41
  3. Réponses: 16
    Dernier message: 16/08/2007, 15h35
  4. Réponses: 5
    Dernier message: 05/10/2004, 13h05
  5. Réponses: 3
    Dernier message: 24/09/2004, 21h21

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