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ération d'une variable de sous-classe à classe


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    artisan
    Inscrit en
    Octobre 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : artisan
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2013
    Messages : 47
    Points : 30
    Points
    30
    Par défaut Récupération d'une variable de sous-classe à classe
    Bonjour,

    j'ai le code suivant:
    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
    public class Client extends Activity {
    public static String msg ;//la variable que je veux utilser
     
    public static final int SERVERPORT = 5555; //cette variable est utilisée par une autre souus classe
     
    	public void onCreate(Bundle savedInstanceState)
    	{
    		super.onCreate(savedInstanceState);
     
    //du code...qui finit par appeler la classe updateUIThread..
    //et je voudrais réutiliser la variable msg ici?
     
    	}
    class updateUIThread implements Runnable {
     
    		public String msg;
     
    		public updateUIThread(String str) {
    			this.msg = str;
    		}
     
    		@Override
    		public void run() {
    			textView1.setText(textView1.getText().toString()+ msg );
    		}
     
    	}
    }
    comment faire pour réutiliser cette variable avec la valeur de chaîne donnée par la sous class UpdateUIThread?

    J'ai essayé comme suit en déclaration de ma classe principale Client:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static final String msg = null;
    Je suis donc obligé de l'initialiser...bref ça ne fonctionne pas.

    Merci de m'aiguiller sur ce principe de base que je ne maitrise pas .

  2. #2
    Expert confirmé
    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
    Points : 4 166
    Points
    4 166
    Par défaut
    J'ai aps trop compris mais essayes :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    public static String msg;

    Puis la récupération avec :
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    updateUIThread.msg;   //par convention, ta classe devrait commencer par une majuscule
    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
    Expert éminent

    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
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Une classe fille peut référence son "objet" mère par: NomDeLaClasseMère.this

    Ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    class Client ....
    {
          String msg;   // <= default accessor
     
     
          class Fille
          {
                 public void someCode() {
                    Client.this.msg = xxxx;
                 }
           }
    }
    Par contre, setText et getText sont des fonctions d'UI et devraient être appelées dans le thread principal donc.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    artisan
    Inscrit en
    Octobre 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : artisan
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2013
    Messages : 47
    Points : 30
    Points
    30
    Par défaut
    merci à vous deux...

    donc dans mon cas c'était :
    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
    class updateUIThread implements Runnable {
    		
    
    		
    
    		public  final String msg;
    
    		public UpdateUIThread(String str) {
    			this.msg = str;
    		}
    
    		@Override
    		public void run() {
    			textView1.setText(textView1.getText().toString()+ msg );
    			Client.this.msg = msg;
    		}
    
    	}

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

Discussions similaires

  1. Récupération d'une variable appartenant à une classe
    Par moithibault dans le forum Général Python
    Réponses: 6
    Dernier message: 13/04/2010, 09h27
  2. Réponses: 3
    Dernier message: 22/09/2009, 21h34
  3. Réponses: 6
    Dernier message: 09/01/2008, 17h40
  4. rendre accessible une variable dans toutes les classes
    Par sony351 dans le forum C++Builder
    Réponses: 5
    Dernier message: 24/03/2007, 01h15
  5. [POO] Retrouver une variable d'instance de classe
    Par stailer dans le forum Langage
    Réponses: 1
    Dernier message: 18/02/2006, 10h56

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