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'un getter


Sujet :

Android

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut Récupération d'un getter
    Bonjour,
    mon problème est le suivant.
    Sur mon appli je souhaite prendre une information entrée dans un setter et par la suite l'envoyer dans une autre activité (via le getter qui est approprié).

    Voici mon code pour l'enregistrement des informations:
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    public void refreshPartage(){
    	partageVoyage.clear();
     	Bundle b    = getIntent().getExtras();
     	user   = b.getParcelable("Voyage partagé");
     
     		// ************************** CHARGEMENT DES EVENEMENTS ************************** //
     	 	SoapObject requete = new SoapObject(NAMESPACE, METHOD_GET_PARTAGE_VOYAGE);
     
     		//requete.addProperty("id_param", 1);
     		/*requete.addProperty("date_fin", date_fin);*/
     
     		SoapSerializationEnvelope envelope = new  SoapSerializationEnvelope(SoapEnvelope.VER11);
     		MarshalDate mdb =new MarshalDate();
     		MarshalDate mdf = new MarshalDate();
     		mdb.register(envelope);
     		mdf.register(envelope);
     
     		envelope.setOutputSoapObject(requete);
     
     
     		HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
     		try {
     			 //this is the actual part that will call the webservice
     			  androidHttpTransport.call(SOAP_ACTION_PARTAGEVOYAGE, envelope);
     			 // SoapObject  resultSOAP =  (SoapObject) envelope.getResponse();
     			  SoapObject resultSOAP = (SoapObject) envelope.bodyIn;
     
     			  if (resultSOAP == null)
     				  Toast.makeText(Partagevoyage.this,"Rien reçu", Toast.LENGTH_LONG).show();
     			 //récuperer des voyages partagés
     
     			 Vector liste_events  = (Vector) resultSOAP.getProperty("return");
     			 int nbre_event = liste_events.size();
     			 for(int i = 0; i<nbre_event; i++){
     				 Voyage mesVoys = new  Voyage();
     				 SoapObject event = (SoapObject) liste_events.get(i);
     
     			 	int nbre_champs = event.getPropertyCount();
     			 		for(int j=0; j<nbre_champs; j++){
     			 			SoapObject champs = (SoapObject) event.getProperty(j);
     			 			String keys =  champs.getProperty("key").toString();			 					
     
     		if(keys.compareTo("id_voyage_serveur")==0){
     			 String id_vyg = champs.getProperty("value").toString();
     			 id_vyg_serv = Integer.parseInt(id_vyg);
                 mesVoys.setid_voyage(id_vyg_serv); 			 			}			 					
     
     
     			 if(keys.compareTo("nom_voyage")==0){
     			 String nom_vyg =   champs.getProperty("value").toString();
     			 mesVoys.setnom_voyage(nom_vyg);
     			 }
     
     
     			 if(keys.compareTo("detail_voyage")==0){
     			 String detail_vyg =        champs.getProperty("value").toString();
                               mesVoys.setdetail_voyage(detail_vyg);
     			}
     
     	        }
     		partageVoyage.add(mesVoys);
     		aap.notifyDataSetChanged();		
     	    }
     	}catch (Exception e) {
            e.printStackTrace();
     	}
     // 		 
     }
    Maintenant voici l'action qui est réalisé quand on sélectionne un voyage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    		ListePartageVoyage.setOnItemClickListener(new OnItemClickListener() {
        		@Override
            	@SuppressWarnings("unchecked")
             	public void onItemClick(AdapterView<?> a, View v, int position, long id) {
     
        			->voy.get******();
        			->Toast.makeText(Partagevoyage.this,"nom ***** " + voy.get******(), Toast.LENGTH_LONG).show();
        			//  
       	    		Intent intent = new Intent(***.this, ***.class);
    			intent.putExtra("Visu voyage",(Parcelable)voy);
    			intent.putExtra ("id_voyage", id_vyg_serv);
    			startActivity(intent);
            	}
             });
    Si vous avez des idées .....

    Loïc

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Sachant que ces informations proviennent d'un web service.
    Petit oublie de ma part même si cela se voit.

    Loïc

  3. #3
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Bonjour,

    Je ne comprend pas vraiment le problème.

    Tu arrives bien à remplir ton objet "voy"?
    Qu'est ce qui t'empêche de faire ton get?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Justement là est le problème. Je n'arrive pas à récupérer la valeur que j'ai enregistrer dans le setter vu que j'ai changé de méthode. Ce que je suis entrain de faire c'est de créer une table en interne. Je pense que ça va solutionner le pbl. Après si vous avez des idées, je suis preneur.

  5. #5
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    De ce que j'ai compris, il faut que tu récupère ton objet voyage de ta liste partageVoyage lors de l'évènement click de ta liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ListePartageVoyage.setOnItemClickListener(new OnItemClickListener() {
        		@Override
            	@SuppressWarnings("unchecked")
             	public void onItemClick(AdapterView<?> adapter, View v, int position, long id) {
                            voy = (Voyage)adapter.getItem(position); // ou alors un getItemSelected sur ta liste ;).
        			->voy.get******(); // la tu récupères les info du voyage que tu veux afficher
        			->Toast.makeText(Partagevoyage.this,"nom ***** " + voy.get******(), Toast.LENGTH_LONG).show();
        			//  
       	    		Intent intent = new Intent(***.this, ***.class);
    			intent.putExtra("Visu voyage",(Parcelable)voy);
    			intent.putExtra ("id_voyage", voy.getIdServ());
    			startActivity(intent);
            	}
    Implémente ta classe Voyage pour récupérer tes attributs .
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Tout à fais c'est que je veux pouvoir récupérer les informations enregistrer dans mon objet Voyage.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Comment est ce que je peux faire, pour pouvoir récupérer la valeur de mon objet Voyage ?
    J'ai essayé de passer comme tu m'as via la méthode getitemselected.
    A savoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Voyage voy = (Voyage)adapter.getItemSelected;
    J'ai un pbl.

    Merci à vous.

  8. #8
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Quel genre de problème ?


    As tu essayé avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    voy = (Voyage)adapter.getItem(position);
    au lieu du getItemSelected.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Excuse de la réponse tardive, mais j'ai essayé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    voy = (Voyage)adapter.getItem(position);
    Mais il me fait la même erreur qui dit comme quoi:

    The method getItem(int) is undefined for the type ReflectiveTypeAdapterFactory.Adapter

    Si avez la solution merci à vous .

    Loïc

  10. #10
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Désolé je suis allez un peu trop vite mais si on regarde la doc de l'AdapterView

    http://developer.android.com/referen...tPosition(int)

    Ce n'est pas getItem mais getItemAtPostion

    la fonction getItem est sur ton adapter :/
    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public void onItemClick(AdapterView<?> adapterview, View v, int position, long id) {
    voy = (Voyage)adapterview.getItemAtPosition(position);
    Après tu peux sauvegarder en membre ton adapter et de celui ci appelé la fonction getItem, à toi de voir.

    Astuce si tu as Taggé (ViewHolder tes View tu peux récupérer les infos direct sur la view v passé en paramètres .

    Edit au fait c'était une getItemSelected() hein c'est une fonction.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/05/2009, 15h10
  2. [XMLRAD] récupération de donnée
    Par Mitch79 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 30/01/2003, 16h36
  3. Réponses: 5
    Dernier message: 09/01/2003, 12h55
  4. récupération d'images
    Par MANU_2 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 05/08/2002, 19h36
  5. Réponses: 4
    Dernier message: 05/06/2002, 13h15

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