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

Composants graphiques Android Discussion :

plusieurs spinner dans une seule activity


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 56
    Par défaut plusieurs spinner dans une seule activity
    bonjour
    j'ai réussi a récupérer des données un champ d'une table avec mon webservice , se que je dois faire est de crée plusieurs spinner ,chaque spinner fait appelle a un champ dans une table différente que l'autre d'un autre spinner


    voici le code suivant qui me permet d'afficher dans mon spinner le mode de paiement
    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
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    public class PasserCommande extends Activity {
     
        private ProgressDialog pDialog;
        Spinner enregistr;
        InputStream is,is1=null;
        String result,result1=null;
        String line,line1=null;
        String[] client , codclient ,type ,codprd;
        String[] codeclient,nomclient;
        Spinner spinner1,spinner2,spinner3,spinner4;
        EditText code ;
        Button retour ;
       protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.passercommande);
     
     
     
     
            spinner1 = (Spinner) findViewById(R.id.modpay);
     
     
            final List<String> list1 = new ArrayList<String>();
     
            final List<String> list3=new ArrayList<String>() ;
            final List<String> list4=new ArrayList<String>() ;
     
            // TODO Auto-generated method stub
     
            try
            {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://192.168.1.16/CHOIPRD.php");
                HttpResponse response = httpclient.execute(httppost);
                Log.e("Fail 1", "3");
     
                HttpEntity entity = response.getEntity();
                Log.e("Fail 1", "4");
     
                is = entity.getContent();
                Log.e("Pass 1", "connection success ");
            }
            catch(Exception e)
            {
                Log.e("Fail 1", e.toString());
                Toast.makeText(getApplicationContext(), "Invalid IP Address", Toast.LENGTH_LONG).show();
                finish();
            }
     
     
            try
            {
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                StringBuilder sb = new StringBuilder();
                while ((line = reader.readLine()) != null)
                {
                    sb.append(line + "\n");
                }
                is.close();
                result = sb.toString();
            }
            catch(Exception e)
            {
                Log.e("Fail 2", e.toString());
            }
     
     
            try
            {
                JSONArray JA=new JSONArray(result);
                JSONObject json= null;
                client = new String[JA.length()];
                codclient = new String[JA.length()];
     
                for(int i=0;i<JA.length();i++)
                {
                    json=JA.getJSONObject(i);
                    client[i] = json.getString("C_MODE");
                }
                Toast.makeText(getApplicationContext(), "sss", Toast.LENGTH_LONG).show();
     
                for(int i=0;i< client.length;i++)
                {
                    list1.add(client[i]);
                }
     
                spinner_fn();
     
            }
            catch(Exception e)
            {
     
                Log.e("Fail 3", e.toString());
    //login.this.finish();
     
            }
        }
     
     
     
        private void spinner_fn() {
            // TODO Auto-generated method stub
     
            ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(getApplicationContext(),
                    android.R.layout.simple_spinner_item, client);
            dataAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spinner1.setAdapter(dataAdapter1);
            spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
     
            {
                @Override
                public void onItemSelected(AdapterView<?> arg0, View arg1,int position, long id)
                {
    // TODO Auto-generated method stub
     
     
                }
     
     
                @Override
                public void onNothingSelected(AdapterView<?> arg0)
                {
    // TODO Auto-generated method stub
                }
     
            });
        }

    alors celui la marche bien et j'affiche les mode de paiement dans le spinner mais je veux ajouter d'autre spinner et afficher de la même manière
    j'ai essayé de crée une autre classe pour afficher mais s marche pas ,svp si quelqu'un a une idée me la passe svp ,,,,mercii a l'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2012
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 100
    Par défaut
    Bonjour,

    C'est simple, il suffit de créer pour chaque spinner une méthode permettant de récupérer les données dans la base de données et le remplir.

    Au lieu de placer ton code
    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
    69
    70
     // TODO Auto-generated method stub
     
            try
            {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://192.168.1.16/CHOIPRD.php");
                HttpResponse response = httpclient.execute(httppost);
                Log.e("Fail 1", "3");
     
                HttpEntity entity = response.getEntity();
                Log.e("Fail 1", "4");
     
                is = entity.getContent();
                Log.e("Pass 1", "connection success ");
            }
            catch(Exception e)
            {
                Log.e("Fail 1", e.toString());
                Toast.makeText(getApplicationContext(), "Invalid IP Address", Toast.LENGTH_LONG).show();
                finish();
            }
     
     
            try
            {
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                StringBuilder sb = new StringBuilder();
                while ((line = reader.readLine()) != null)
                {
                    sb.append(line + "\n");
                }
                is.close();
                result = sb.toString();
            }
            catch(Exception e)
            {
                Log.e("Fail 2", e.toString());
            }
     
     
            try
            {
                JSONArray JA=new JSONArray(result);
                JSONObject json= null;
                client = new String[JA.length()];
                codclient = new String[JA.length()];
     
                for(int i=0;i<JA.length();i++)
                {
                    json=JA.getJSONObject(i);
                    client[i] = json.getString("C_MODE");
                }
                Toast.makeText(getApplicationContext(), "sss", Toast.LENGTH_LONG).show();
     
                for(int i=0;i< client.length;i++)
                {
                    list1.add(client[i]);
                }
     
                spinner_fn();
     
            }
            catch(Exception e)
            {
     
                Log.e("Fail 3", e.toString());
    //login.this.finish();
     
            }
        }
    directement dans la méthode on create, tu pourras alors faire appel aux trois méthodes destiner à remplir ton spinner.
    Par exemple chargementSpinner1(),chargementSpinner2(), chargementSpinner3(). Puis tu crées ces méthodes dans le corps de l'activité en plaçant ton
    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
    69
    70
        // TODO Auto-generated method stub
     
            try
            {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://192.168.1.16/CHOIPRD.php");
                HttpResponse response = httpclient.execute(httppost);
                Log.e("Fail 1", "3");
     
                HttpEntity entity = response.getEntity();
                Log.e("Fail 1", "4");
     
                is = entity.getContent();
                Log.e("Pass 1", "connection success ");
            }
            catch(Exception e)
            {
                Log.e("Fail 1", e.toString());
                Toast.makeText(getApplicationContext(), "Invalid IP Address", Toast.LENGTH_LONG).show();
                finish();
            }
     
     
            try
            {
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                StringBuilder sb = new StringBuilder();
                while ((line = reader.readLine()) != null)
                {
                    sb.append(line + "\n");
                }
                is.close();
                result = sb.toString();
            }
            catch(Exception e)
            {
                Log.e("Fail 2", e.toString());
            }
     
     
            try
            {
                JSONArray JA=new JSONArray(result);
                JSONObject json= null;
                client = new String[JA.length()];
                codclient = new String[JA.length()];
     
                for(int i=0;i<JA.length();i++)
                {
                    json=JA.getJSONObject(i);
                    client[i] = json.getString("C_MODE");
                }
                Toast.makeText(getApplicationContext(), "sss", Toast.LENGTH_LONG).show();
     
                for(int i=0;i< client.length;i++)
                {
                    list1.add(client[i]);
                }
     
                spinner_fn();
     
            }
            catch(Exception e)
            {
     
                Log.e("Fail 3", e.toString());
    //login.this.finish();
     
            }
        }
    et celui qui permet de le remplir spinner_fn1() pour le premier, spinner_fn2() pour le second et spinner_fn3() pour le troisième.

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 56
    Par défaut
    Citation Envoyé par wangi Voir le message
    Bonjour,

    C'est simple, il suffit de créer pour chaque spinner une méthode permettant de récupérer les données dans la base de données et le remplir.

    Au lieu de placer ton code directement dans la méthode on create, tu pourras alors faire appel aux trois méthodes destiner à remplir ton spinner.
    Par exemple chargementSpinner1(),chargementSpinner2(), chargementSpinner3(). Puis tu crées ces méthodes dans le corps de l'activité en plaçant ton [/CODE] et celui qui permet de le remplir spinner_fn1() pour le premier, spinner_fn2() pour le second et spinner_fn3() pour le troisième.
    merci beaucoup wangi d'avoir répondu , alors je pense j'ai pas bien saisi se que je dois faire ,les méthodes dois pas être crée dans le corps de l’activité" donc dans une autre activité ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2012
    Messages
    100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2012
    Messages : 100
    Par défaut
    Exemple dans notre code nous avons déclaré deux spinner et ses adapteurs :
    Spinner spCodePoste,spCirconscription;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ArrayList<String>listItemsPoste=new ArrayList<String>();
    ArrayAdapter<String>adapterPoste;		
    ArrayList<String>listItemsCirconscription=new ArrayList<String>();
    ArrayAdapter<String>adapterCirconscription;
    Puis dans la méthode onCreate:
    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
    protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);		
    		setContentView(R.layout.nouveau_candidat);
     
    		//obtention des references des composants
    		spCodePoste=(Spinner)findViewById(R.id.spPoste);
    		spCirconscription=(Spinner)findViewById(R.id.spCirconscriptionE);
     
    		//1. spinner pour poste
            adapterPoste=new ArrayAdapter<String>(this,R.layout.spinner_poste_layout,
            		R.id.textCodeP,listItemsPoste);       
            spCodePoste.setAdapter(adapterPoste);
     
            //2.spinner pour partie politique
     
            adapterCirconscription=new ArrayAdapter<String>(this,R.layout.spinner_circonscription_layout,
            		R.id.textCodeCir,listItemsCirconscription);
            spCirconscription.setAdapter(adapterCirconscription);
     
     
    		 //synchronisation au serveur pour remplir les spinneur
    		 url="http://10.0.2.2:80";
    		 new posteTask().execute(url+"/wangi/select_poste.php");
    		 new circonscriptionTask().execute(url+"/wangi/select_circonscription.php");
     
    	}
    Dans la méthode onCreate, j'ai crée des instance de la classe interne posteTask qui doit récupérer tous les postes au niveau du serveur et une autre
    instance cinconscriptionTask qui doit récupérer les circoncription.

    Ces deux classes héritent de la classe AsyncTask pour se communiquer avec le serveur distant.

    En dehors de la méthode onCreate, nous allons crée nos deux méthodes :
    1. pour le chargement de poste
    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
     
    class posteTask extends AsyncTask<String,Void,StringBuffer>{
     
    		   ArrayList<String>list;
     
    		   @Override
    			protected void onPreExecute() {
    				list=new ArrayList<String>();
    				super.onPreExecute();
    			}
    			@Override
    			protected StringBuffer doInBackground(String... args) {
    				url=args[0];
    				StringBuffer sb = new StringBuffer();      
     
    	            try {
    	                HttpClient httpClient = new DefaultHttpClient();
    	                HttpPost httpPost = new HttpPost(url);              
    	                HttpResponse response = httpClient.execute(httpPost);
     
     
    	               	HttpEntity entity = response.getEntity();
     
     
    	    			InputStream is=entity.getContent();
    	    			BufferedReader br=new BufferedReader(
    	    						new InputStreamReader(is));    				
     
    	                 String line = null;
    	                 while ((line = br.readLine()) != null)
    	                 {
     
    	                     sb.append(line);
    	                 }
     
    	            } catch (ClientProtocolException ex) {
    	           	 Log.e("Client Protocole:",ex.toString());
    	            } catch (IOException ex) {
    	           	 Log.e("IOException:",ex.toString());
    	            }
    				return sb;
    			}
     
     
    			@Override
    			protected void onPostExecute(StringBuffer result) {
    				Log.e("Nos poste", result.toString());			
     
    				Gson gson=new Gson();
    				Poste[]pos=gson.fromJson(result.toString(),Poste[].class);
     
                                    for(Poste p:pos){
    					Log.e("", p.getDesignationPoste());
    					list.add(p.getDesignationPoste());
    				}
     
    				listItemsPoste.addAll(list);
    		        adapterPoste.notifyDataSetChanged();
    				super.onPostExecute(result);
    			}			
     
    	   }

    En suite, tu créer aussi , la seconde classe interne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class circonscriptionTask extends AsyncTask<String,Void,StringBuffer>{
     
       //code à completer avec le même logique que celui de posteTask   
     
    }

    Tu peux maintenant t'inspirer...

  5. #5
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 56
    Par défaut
    Tu peux maintenant t'inspirer...
    je suis un peut perdu mon frère s marche pas pour mon code , je peux voir le code complet svp ?,,

Discussions similaires

  1. Plusieurs lignes dans une seule
    Par rlnd23 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/02/2007, 16h35
  2. [MySQL] Connections à plusieurs serveurs dans une seule page php
    Par Pgs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/06/2006, 16h59
  3. Plusieurs formulaires dans une seule servlet
    Par bf83 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 27/03/2006, 15h21
  4. plusieurs tables dans une seule table
    Par scully2501 dans le forum Access
    Réponses: 1
    Dernier message: 10/10/2005, 09h19
  5. plusieurs enregistrements dans une seul ligne
    Par Celelibi dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/01/2005, 15h55

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