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 de l'Id selon un client


Sujet :

Android

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut Récupération de l'Id selon un client
    Bonjour,

    J'aimerais récupérer l'ID du client, et le faire passer en extra dans mon Intent, mais je vois pas du tout où le récupérer, j'aimerais le stocker dans une variable identifiant, mais si je tente de le récupérer dans la boucle for, et que y a plusieurs clients du même nom, ça ne foncionnera pas je pense..

    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
    public class AffichageClientActivity extends MainActivity 
    														  /*implements
    														 OnItemClickListener*/{
    	String nomduclient;
    	int identifiant;
    	clientBDD cliBDD = new clientBDD(this);
    	ListView clientListe;
    	ArrayList<client> clients = new ArrayList<client>();
    	client cli = new client("", "", "", "", "", "", "", 0, 0);
    	private ArrayAdapter<String> ClientAdapter = null;
     
    	protected void onCreate(Bundle saveInstanceBundle) {
    		super.onCreate(saveInstanceBundle);
    		setContentView(R.layout.listingclient);
    		clientListe = (ListView) findViewById(R.id.list);
     
    		// récupération de la valeur de l'EditText
    		Bundle objetbundle = this.getIntent().getExtras();
    	    nomduclient = objetbundle.getString("nomclient");
     
    		clientListe = (ListView) findViewById(R.id.list);
    		clientListe.setOnItemClickListener(ItemListener);
    		ClientAdapter = new ArrayAdapter<String>(this,
    				android.R.layout.simple_list_item_1);
    		clientListe.setAdapter(ClientAdapter);
    		cliBDD.open();
    		clients = cliBDD.getClientwithNom(nomduclient);
    		if (clients != null) {
    			// affichage du ou des client(s)
    			for (int i=0; i < clients.size();i++){
    			ClientAdapter.add(clients.get(i).getNom() + "  " + clients.get(i).getPrenom());
    			ClientAdapter.setNotifyOnChange(true);
    			}
     
    		} else {
    			Toast.makeText(
    					this,
    					"Ce client n'est pas enregistré dans la base, vérifier l'orthographe ou bien ajouter un nouveau client.",
    					Toast.LENGTH_LONG).show();
    		}
    		cliBDD.close();
    	}
     
    	public String toString() {
    		String MonStringClient = null;
    		MonStringClient = cli.getNom() + cli.getPrenom();
    		return MonStringClient;
    	}
     
    	private OnItemClickListener ItemListener = new OnItemClickListener() {
    		public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    				long arg3) {
    			// recupération du nom du client
     
    			Intent versFidelite = new Intent(getApplicationContext(),
    					FideliteActivity.class);
    			versFidelite.putExtra("identifant",identifiant);
    			startActivity(versFidelite);
     
    		}
    	};
     
    }
    Vous avez une idée de comment je pourrais le récupérer?
    Merci d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Points : 113
    Points
    113
    Par défaut
    le plus simple, c'est de déclarer un tableau de la taille de ta list client.

    de récupérer l'id de ton client dans la boucle:

    tab[i]=taList.get(i).getId();

    puis de passer ton tableau de int dans l'intent

    putExtra('nomtab', tab);

    p.s: quand tu explique un nouveau problèmes, fait le comme si on avait pas suivi les poste précédent, ça permet a n'importe qui de t'aider sans avoir a reprendre tes ancien poste pour tout comprendre .

    édite: j'ai regarder un peu plus ton code xD

    le plus simple, c'est de récupéré l'id dans ton clique. En utilisant le int position du clique, pour récupérer le client dans ta list .

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Ah d'acc merci bien

    (Oui, désolé, je l'ai posté un peu vite celui là ^^)

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Je vois pas trop comment récupérer l'ID du client dans le clic... tu peux être plus précis stp

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Points : 113
    Points
    113
    Par défaut
    il faut que tu puisse passer ta List dans ton onClick, après tu récupère juste l'id depuis ta List, avec le int position du click que tu as (si j'ai bien compris, ta listView comporte uniquement ta recherche retourné en List.)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taList.get(position).getId()

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Ah d'accord, bah je vais essayer ça alors
    Je te redis

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    On ne peut pas faire une ArrayList d'entier??
    ça me met un erreur..

    Je reposte le code pour infos:
    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
    public class AffichageClientActivity extends MainActivity 
    														  /*implements
    														 OnItemClickListener*/{
    	String nomduclient;
    	ArrayList<int> identifiant = new ArrayList<int>();
    	clientBDD cliBDD = new clientBDD(this);
    	ListView clientListe;
    	ArrayList<client> clients = new ArrayList<client>();
    	client cli = new client("", "", "", "", "", "", "", 0, 0);
    	private ArrayAdapter<String> ClientAdapter = null;
     
    	protected void onCreate(Bundle saveInstanceBundle) {
    		super.onCreate(saveInstanceBundle);
    		setContentView(R.layout.listingclient);
    		clientListe = (ListView) findViewById(R.id.list);
     
    		// récupération de la valeur de l'EditText
    		Bundle objetbundle = this.getIntent().getExtras();
    	    nomduclient = objetbundle.getString("nomclient");
     
    		clientListe = (ListView) findViewById(R.id.list);
    		clientListe.setOnItemClickListener(ItemListener);
    		ClientAdapter = new ArrayAdapter<String>(this,
    				android.R.layout.simple_list_item_1);
    		clientListe.setAdapter(ClientAdapter);
    		cliBDD.open();
    		clients = cliBDD.getClientwithNom(nomduclient);
    		if (clients != null) {
    			// affichage du ou des client(s)
    			for (int i=0; i < clients.size();i++){
    			ClientAdapter.add(clients.get(i).getNom() + "  " + clients.get(i).getPrenom());
    			identifiant = clients.get(i).getId();
    			ClientAdapter.setNotifyOnChange(true);
    			}
     
    		} else {
    			Toast.makeText(
    					this,
    					"Ce client n'est pas enregistré dans la base, vérifier l'orthographe ou bien ajouter un nouveau client.",
    					Toast.LENGTH_LONG).show();
    		}
    		cliBDD.close();
    	}
     
    	public String toString() {
    		String MonStringClient = null;
    		MonStringClient = cli.getNom() + cli.getPrenom();
    		return MonStringClient;
    	}
     
    	private OnItemClickListener ItemListener = new OnItemClickListener() {
    		public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    				long arg3) {
    			// recupération du nom du client
     
    			Intent versFidelite = new Intent(getApplicationContext(),
    					FideliteActivity.class);
    			versFidelite.putExtra("identifant",identifiant);
    			startActivity(versFidelite);
     
    		}
    	};
     
    }

  8. #8
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Points : 113
    Points
    113
    Par défaut
    je t'invite vivement a lire des tuto ou la doc officiel sur les collections en java.

    Elles ne prennent que des objets, donc ce n'est pas int(type primitif) mais Integer(objet) que tu dois utiliser.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Oui, je devrais les lire, j'ai jamais vu java encore ^^

    Mais du coup, c'est embêtant pour mettre clients.get(i).getId qui retourne un int..

    Y a une conversion possible?

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    En fait, utiliser un tableau comme tu m'as dis, c'est bien plus simple, j'ai confondu les 2 ^^

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Points : 113
    Points
    113
    Par défaut
    Citation Envoyé par Pepito39 Voir le message
    Oui, je devrais les lire, j'ai jamais vu java encore
    effectivement, c'est pas comme si le SDK android fonctionnais justement en java xD

    Citation Envoyé par Pepito39 Voir le message
    Mais du coup, c'est embêtant pour mettre clients.get(i).getId qui retourne un int..
    depuis java 1.5 la conversion ce fait automatiquement.


    Citation Envoyé par Pepito39 Voir le message
    En fait, utiliser un tableau comme tu m'as dis, c'est bien plus simple
    En réalité, les collections sont bien pratique, mais quand tu peux avoir la taille du tableau avant de lui donner des valeurs, il est mieux d'utiliser un tableau qui est plus léger.(le cursor et ta list de client par exemple tu pourrais utilisé un tableau plutôt qu'une liste.)

    et en bref regarde java, c'est quand même la base du SDK

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Merci, le truc c'est qu'il me reste, juste un jour de stage, et j'n'aurais pas le temps de finir l'application si je mets à lire les doc's java.. Et il manque juste de trouver comment passer l'ID dans le click..
    Mais bon, je galère

    Edit : J'arrive pas à trouver comment dire, si l'item 1 est cliqué, c'est cet ID client, si l'Item2 cet id, Item3 ect.. Du coup, faut pas envoyé le tableau?

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Une solution comme celle là peut elle fonctionner?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    	if(arg3==0){
    			versFidelite.putExtra("identifiant",tab[0]);
    			startActivity(versFidelite);
    			}
    			else if(arg3==1){
    				versFidelite.putExtra("identifiant",tab[1]);
    				startActivity(versFidelite);
    			}
    			else if(arg3==2){
    				versFidelite.putExtra("identifiant",tab[2]);
    				startActivity(versFidelite);
    			}

  14. #14
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Points : 113
    Points
    113
    Par défaut
    Bon alors je vais tenter de réexpliquer, en gros dans ton adaptateur ton premier item correspond à ton premier client de ta list, donc quand tu cliques sur un item dans ta listeview, tu as la position de ton item qui correspond à la position dans ta liste. donc tu a juste à récupérer avec:

    taList.get(positionlorsduclique).getId();

    Tu as d’autre solution : tu pourrais modifier le xml de tes items afin de créer un champ caché ou tu stock l’id, modifier ton adaptateur...

  15. #15
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    Hmm d'accord, c'est compliqué quand même! ^^ Merci, je vais essayer..

  16. #16
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Points : 59
    Points
    59
    Par défaut
    ça fonctionne!!! merci de ta patience et ton aide, merci beaucoup

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

Discussions similaires

  1. Récupération d'un fichier XML du client vers le serveur.
    Par 4rocky4 dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 29/03/2011, 19h14
  2. Réponses: 3
    Dernier message: 20/07/2010, 10h32
  3. Réponses: 0
    Dernier message: 13/02/2010, 11h09
  4. Réponses: 4
    Dernier message: 09/02/2009, 16h33
  5. Réponses: 2
    Dernier message: 28/08/2007, 16h49

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