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 :

Faire un if sur position spinner


Sujet :

Composants graphiques Android

  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut Faire un if sur position spinner
    bonjour la communauté,

    apres de nombreuse recherches sur le site je n ai pas trouver de reponse.

    voila j ai deux spinners j arrive bien a afficher dans un textview le resultat des choix des deux spinners de la façon suivante:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    			long arg3) {
     
     
    		result.setText("\nSpinner 1 : " + String.valueOf(spinner1.getSelectedItem()) +
    				"\nSpinner 2 : " + String.valueOf(spinner2.getSelectedItem()));
    	}
    par contre je voudrai afficher un texte precis en fonction du choix des spinners:

    j ai pensé a faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    			long arg3) {
    if (String.valueOf(spinner1.getSelectedItem=("60") & String.valueOf(spinner2.getSelectedItem=("20")) ){
     
    result.setText(" ici j affiche le texte voulu");
    }
    }
    cela ne fonctionne pas . Si quelqu un peut m expliquer merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Points : 149
    Points
    149
    Par défaut
    Essaie ceci
    if (spinner1.getSelectedItem().toString().equals("60") && spinner2.getSelectedItem().toString().equals("20"))

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Merci je regarde et je te tiens au courant

  4. #4
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut toujours pas d affichage
    bonjour j ai essaye le code mais rien j ai fait le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    			long arg3) {
     
    if  (String.valueOf(spinner1.getSelectedItem())=="60kg" && (String.valueOf(spinner2.getSelectedItem())=="0,10" )) {
    			result.setText("le texte que je desire afficher");
     
    		}
    }
    Je me suis inspire de celui ci qui fonctionne tres bien dans le meme textview:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    			long arg3) {
    		result.setText("\nSpinner 1 : " + String.valueOf(spinner1.getSelectedItem()) +
    				"\nSpinner 2 : " + String.valueOf(spinner2.getSelectedItem()));
     
    }

    je ne comprend pas pourquoi rien ne s affiche sur ma condition IF le script s exécute et aucune erreurs le programme démarre et rien ne s 'affiche quand je choisi le bon chiffre dans mes deux spinners je cherche toujours mais si quelqu un a une idée merci d'avance.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Points : 149
    Points
    149
    Par défaut
    T'as essayé le code que je t'ai donné ?? car celui de ton 2e essai ne correspond pas à ce que je t'ai dit.

    La comparaison de String se fait via "equals" et non pas "=="

  6. #6
    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
    ça compile ça ?

    Il y a plusieurs façons de procéder...
    Deux solutions en vrac:
    La "sale" (les spinners ne contiennent que des "textes"):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ((spinner1.getSelectedItem().equals("60kg") && spinner2.getSelectedItem().equals("0,10")) {
    			result.setText("le texte que je desire afficher");
    }
    La "propre":
    Les spinner contiennent des objets:
    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 <T> SpinnerValue<T>
    {
          T       value;
          String display;
     
          public Spinner1Value(T v, String disp)
          { this.value= v; this.display = disp; }
     
          public T       getValue() { return this.value; }
          public String toString() { return this.display; }
    }
     
    ....
    SpinnerValue<Integer> selected1 = spinner1.getSelectedItem();
    SpinnerValue<Float> selected2 = spinner2.getSelectedItem();
    if (selected1.getValue().intValue() == 60 && selected2.floatValue() == 0.1f) {			result.setText("le texte que je desire afficher");
    }
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    merci de vos réponses je regarde.
    Sinon sfpx j ai essaye ton code ça fonctionne pas et pourtant ton code est le bon je re essaye .
    Merci nicroman .
    avec vos reponses j espere y arriver

    Je vais refaire proprement mon code et je vous tiens au courant.

  8. #8
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    bon cela fonctionne toujours pas je vous met le code en entier en faite je clic sur un liste en fonction de la fiche mon spinner se rempli differement et en suite en fonction du clic sur le spinner je dois afficher le texte voulu .

    n ayant pas d erreurs je comprend pas pourquoi il ne s affiche pas
    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
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
     
     
    public class Dilution extends Menudilutions implements OnItemSelectedListener {
     
    	private Spinner spinner1, spinner2;
     
    	ImageView image;
    	ImageButton retour;
    	TextView titre;
    	TextView result;
     
    	int position;
     
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.spinnerdilution);
     
     
     
    		addItemsOnSpinner1();
    		addItemsOnSpinner2();
     
    		spinner1 = (Spinner) findViewById(R.id.spinner1);
    		List<String> list = new ArrayList<String>();
     
    		spinner2 = (Spinner) findViewById(R.id.spinner2);
    		List<String> list2 = new ArrayList<String>();
     
    		LinearLayout monInclude = (LinearLayout) findViewById(R.id.include1);
    		retour = (ImageButton) monInclude.findViewById(R.id.ibretour);
    		titre = (TextView) monInclude.findViewById(R.id.textView1);
    		result = (TextView) findViewById(R.id.resultView1);
    		image = (ImageView) findViewById(R.id.imageView1);
     
    		if (fiche == 1) {
     
    			image.setImageResource(R.drawable.adrea);
    			titre.setText("fiche1");
     
     
     
     
    			spinner1.setOnItemSelectedListener(this);
     
    			list.add("50Kg");
    			list.add("60kg");
    			list.add("70Kg");
    			list.add("80Kg");
    			list.add("90kg");
     
     
    			list2.add("0,10");
    			list2.add("0,25");
    			list2.add("0,50");
    			list2.add("0,75");
    			list2.add("1");
     
     
     
    						ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list);
    			dataAdapter
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner1.setAdapter(dataAdapter);
     
    			ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list2);
    			dataAdapter1
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner2.setAdapter(dataAdapter1);
     
     
     
    		}
     
    		if (fiche == 2) {
    			image.setImageResource(R.drawable.adrenalineenfant);
    			titre.setText("fiche2");
     
    			spinner1 = (Spinner) findViewById(R.id.spinner1);
    			list.add("10Kg");
    			list.add("20Kg");
    			list.add("30Kg");
    			list.add("40Kg");
     
    			spinner2 = (Spinner) findViewById(R.id.spinner2);
    			list2.add("0,10");
    			list2.add("0,25");
    			list2.add("0,50");
    			list2.add("0,75");
    			list2.add("1 μg/kg/min");
     
    			ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list);
    			dataAdapter
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner1.setAdapter(dataAdapter);
     
    			ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list2);
    			dataAdapter1
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner2.setAdapter(dataAdapter1);
     
    		}
     
     
     
    	}
     
     
     
    	private void addItemsOnSpinner1() {
    		// TODO Auto-generated method stub
    		spinner1 = (Spinner) findViewById(R.id.spinner1);
     
     
     
     
    	}
     
    	public void addItemsOnSpinner2() {
    		spinner2 = (Spinner) findViewById(R.id.spinner2);
     
     
     
    	}
     
     
     
     
    	public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    			long arg3) {
    //	CA  S AFFICHE	result.setText("\nSpinner 1 : " + String.valueOf(spinner1.getSelectedItem()) +
    //				"\nSpinner 2 : " + String.valueOf(spinner2.getSelectedItem()));
     
     
     
    // ici pas d affichage	
    		if ((spinner1.getSelectedItem().equals("60") && spinner2.getSelectedItem().equals("1"))) {
     
    }
     
     
     
     
     
     
     
    	}
     
     
     
    	public void onNothingSelected(AdapterView<?> arg0) {
    		// TODO Auto-generated method stub
     
    	}
     
     
     
     
    }

    je sais que mon code n est pas optimisé.
    mais je comprend pas pourquoi juste cette fonction ne marche pas merci de votre aide

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 184
    Points : 149
    Points
    149
    Par défaut
    C'est que ton spinner ne contient jamais "60" mais "60Kg"
    alors
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ((spinner1.getSelectedItem().equals("60Kg") && spinner2.getSelectedItem().equals("1"))) 
    {
    //fait afficher qqchose ici 
    }

  10. #10
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 592
    Points : 18 498
    Points
    18 498
    Par défaut
    Au lieu d'utiliser equals(), utilise des méthodes comme startsWith("50") ou toLowerCase(taString) parce que des fois t'écris kg et des fois t'écris Kg.
    Keith Flint 1969 - 2019

  11. #11
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut debut de reponse
    bon apres tentative et travail sur le code en fait le code est bon mais il ne connais que la premiere posisition du spinner
    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
     
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    			long arg3) {
     
     
     
    		if ((spinner1.getSelectedItem().equals("50Kg"))) {
    			result.setText("le texte que je desire afficher");
    }
    		if ((spinner1.getSelectedItem().equals("60Kg"))) {
    			result.setText("le texte 2");
    }
     
     
     
     
     
     
     
    	}

    en fait comme 50kg est la premier position de la list il m'affiche bien le texte mais si je fait un second if pour une autre position toujours le meme affichage.Comme si il ne voyait pas le choix effectue dans le spinner si vous avez des iées ... j avance mais galere merci a vous

  12. #12
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    bonour bon j avance mais encore un petit pb : donc maintenant j arrive a afficher tout les choix du spinner1 en faisant:

    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
     
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    			long arg3) {
     
     
    		if ((spinner1.getSelectedItem().equals("50kg"))
    				&& (spinner2.getSelectedItem().equals("0,10"))) {
    			result.setText("le texte que je desire afficher");
    			}
     
    		else if ((spinner1.getSelectedItem().equals("50kg"))
    				&& (spinner2.getSelectedItem().equals("0,25"))) {
    			result.setText("choix 2");
    		}
    		else if ((spinner1.getSelectedItem().equals("50kg"))
    				&& (spinner2.getSelectedItem().equals("0,50"))) {
    			result.setText("choix 3");
    		}
    		else if ((spinner1.getSelectedItem().equals("50kg"))
    				&& (spinner2.getSelectedItem().equals("0,75"))) {
    			result.setText("choix 4");
    		}
    		else if ((spinner1.getSelectedItem().equals("60kg"))
    				&& (spinner2.getSelectedItem().equals("0,10"))) {
    			result.setText("choix 5");
    		}
    		else if ((spinner1.getSelectedItem().equals("60kg"))
    				&& (spinner2.getSelectedItem().equals("0,25"))) {
    			result.setText("choix 6");
    		}
    		else if ((spinner1.getSelectedItem().equals("60kg"))
    				&& (spinner2.getSelectedItem().equals("0,50"))) {
    			result.setText("choix 7");
    		}
    		}
    le probleme est le suivant si je choisi n importe quel choix du spinner1 il prend en compte de suite par contre si je reste sur 50kg au spinner 1 et que je change de choix sur le spinner 2, il ne met pas a jours l 'affichage. Je suis oblige de changer de position sur me spinner1 par exemple 60kg et de revenir sur 50kg pour qu il mette a jours l affichage avec mon spinner 2. Si quelqu un a une idée merci je pense que j y suis presque du moins j espere.

    Eric

  13. #13
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 592
    Points : 18 498
    Points
    18 498
    Par défaut
    T'as mis un OnItemSelectedListener sur spinner1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    spinner1.setOnItemSelectedListener(this);
    Mais pas sur spinner2, donc forcement rien ne se passe quand tu sélectionnes un autre item dans le spinner2.
    Keith Flint 1969 - 2019

  14. #14
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Merci effectivement cela fonctionnement je suis blond merci pour ton aide et merci a toute la communauté .
    je refais mon code et je le met en ligne .
    merci encore

  15. #15
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 592
    Points : 18 498
    Points
    18 498
    Par défaut
    C'était simple là, la première question de débogage que je me suis posé c'était :
    Qu'est-ce qui est appelé quand on choisie un item dans le spinner2 ?
    Et la réponse était : rien.
    Keith Flint 1969 - 2019

  16. #16
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut Spinner suite et fin
    Bon le code fonctionne de maniere parfaite mais je peux surement l ameliorer:

    donc voici le code .pour permettre aux débutants comme moi d avoir des aides

    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
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
     
     
     
     
    public class Dilution extends Menudilutions implements OnItemSelectedListener {
     
    	private Spinner spinner1, spinner2;
     
    	ImageView image;
    	ImageButton retour;
    	TextView titre;
    	TextView result;
     
    	int position;
     
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.spinnerdilution);
     
     
     
    		addItemsOnSpinner1();
    		addItemsOnSpinner2();
     
    		spinner1 = (Spinner) findViewById(R.id.spinner1);
    		List<String> list = new ArrayList<String>();
     
    		spinner2 = (Spinner) findViewById(R.id.spinner2);
    		List<String> list2 = new ArrayList<String>();
     
    		LinearLayout monInclude = (LinearLayout) findViewById(R.id.include1);
    		retour = (ImageButton) monInclude.findViewById(R.id.ibretour);
    		titre = (TextView) monInclude.findViewById(R.id.textView1);
    		result = (TextView) findViewById(R.id.resultView1);
    		image = (ImageView) findViewById(R.id.imageView1);
     
    		if (fiche == 1) {
     
    			image.setImageResource(R.drawable.adrea);
    			titre.setText("fiche1");
     
     
     
     
    			spinner1.setOnItemSelectedListener(this);
    spinner1.setOnItemSelectedListener(this);
     
     
    			list.add("50Kg");
    			list.add("60kg");
    			list.add("70Kg");
    			list.add("80Kg");
    			list.add("90kg");
     
     
    			list2.add("0,10");
    			list2.add("0,25");
    			list2.add("0,50");
    			list2.add("0,75");
    			list2.add("1");
     
     
     
    						ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list);
    			dataAdapter
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner1.setAdapter(dataAdapter);
     
    			ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list2);
    			dataAdapter1
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner2.setAdapter(dataAdapter1);
     
     
     
    		}
     
     
    			ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list);
    			dataAdapter
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner1.setAdapter(dataAdapter);
     
    			ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list2);
    			dataAdapter1
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner2.setAdapter(dataAdapter1);
     
    		}
     
     
     
    	}
     
     
     
    	private void addItemsOnSpinner1() {
    		// TODO Auto-generated method stub
    		spinner1 = (Spinner) findViewById(R.id.spinner1);
     
     
     
     
    	}
     
    	public void addItemsOnSpinner2() {
    		spinner2 = (Spinner) findViewById(R.id.spinner2);
     
     
     
    	}
     
     
     
     
    	public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    			long arg3) {
     
     
     
     
     
     
     
     
     
     
     
    	}
     
     
     
    	public void onNothingSelected(AdapterView<?> arg0) {
    		// TODO Auto-generated method stub
     
    	}
     
     
     
     
    }

  17. #17
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut Spinner suite et fin
    Bon le code fonctionne de maniere parfaite mais je peux surement l ameliorer:

    donc voici le code .pour permettre aux débutants comme moi d avoir des aides

    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
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
     
     
     
     
    public class Dilution extends Menudilutions implements OnItemSelectedListener {
     
    	private Spinner spinner1, spinner2;
     
     
    	ImageView image;
    	ImageButton retour;
    	TextView titre;
    	TextView result;
     
    	int position;
     
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.spinnerdilution);
     
     
     
    		addItemsOnSpinner1();
    		addItemsOnSpinner2();
     
    		spinner1 = (Spinner) findViewById(R.id.spinner1);
    		List<String> list = new ArrayList<String>();
     
    		spinner2 = (Spinner) findViewById(R.id.spinner2);
    		List<String> list2 = new ArrayList<String>();
     
    		LinearLayout monInclude = (LinearLayout) findViewById(R.id.include1);
    		retour = (ImageButton) monInclude.findViewById(R.id.ibretour);
    		titre = (TextView) monInclude.findViewById(R.id.textView1);
    		result = (TextView) findViewById(R.id.resultView1);
    		image = (ImageView) findViewById(R.id.imageView1);
     
    		if (fiche == 1) {
     
    			image.setImageResource(R.drawable.adrea);
    			titre.setText("fiche1");
     
     
     
     
    			spinner1.setOnItemSelectedListener(this);
                            spinner2.setOnItemSelectedListener(this);
     
     
    			list.add("50Kg");
    			list.add("60kg");
    			list.add("70Kg");
    			list.add("80Kg");
    			list.add("90kg");
     
     
    			list2.add("0,10");
    			list2.add("0,25");
    			list2.add("0,50");
    			list2.add("0,75");
    			list2.add("1");
     
     
     
    						ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list);
    			dataAdapter
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner1.setAdapter(dataAdapter);
     
    			ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list2);
    			dataAdapter1
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner2.setAdapter(dataAdapter1);
     
     
     
    		}
     
     
    			ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list);
    			dataAdapter
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner1.setAdapter(dataAdapter);
     
    			ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(this,
    					android.R.layout.simple_spinner_item, list2);
    			dataAdapter1
    					.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    			spinner2.setAdapter(dataAdapter1);
     
    		}
     
     
     
    	}
     
     
     
    	private void addItemsOnSpinner1() {
    		// TODO Auto-generated method stub
    		spinner1 = (Spinner) findViewById(R.id.spinner1);
     
     
     
     
    	}
     
    	public void addItemsOnSpinner2() {
    		spinner2 = (Spinner) findViewById(R.id.spinner2);
     
     
     
    	}
     
     
     
     
    	public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
    			long arg3) {
     
     
     	if ((spinner1.getSelectedItem().equals("50kg"))
    				& (spinner2.getSelectedItem().equals("0,10"))) {
    			result.setText("choix1");
    		}
     
    		else if ((spinner1.getSelectedItem().equals("50kg"))
    				& (spinner2.getSelectedItem().equals("0,25"))) {
    			result.setText("choix 2");
    		} else if ((spinner1.getSelectedItem().equals("50kg"))
    				& (spinner2.getSelectedItem().equals("0,50"))) {
    			result.setText("choix 3");
    		} else if ((spinner1.getSelectedItem().equals("50kg"))
    				& (spinner2.getSelectedItem().equals("0,75"))) {
    			result.setText("choix 4");
    		} else if ((spinner1.getSelectedItem().equals("50kg"))
    				& (spinner2.getSelectedItem().equals("1"))) {
    			result.setText("choix 5");
    		}
     
    		// poids 60Kg
    		else if ((spinner1.getSelectedItem().equals("60kg"))
    				& (spinner2.getSelectedItem().equals("0,10"))) {
    			result.setText("choix 6");
    		} else if ((spinner1.getSelectedItem().equals("60kg"))
    				& (spinner2.getSelectedItem().equals("0,25"))) {
    			result.setText("choix 7");
    		} else if ((spinner1.getSelectedItem().equals("60kg"))
    				& (spinner2.getSelectedItem().equals("0,50"))) {
    			result.setText("choix 8");
    		} else if ((spinner1.getSelectedItem().equals("60kg"))
    				& (spinner2.getSelectedItem().equals("0,75"))) {
    			result.setText("choix 9");
    		} else if ((spinner1.getSelectedItem().equals("60kg"))
    				& (spinner2.getSelectedItem().equals("1"))) {
    			result.setText("choix 10");
    		}
    		// poids 70Kg
    		else if ((spinner1.getSelectedItem().equals("70kg"))
    				& (spinner2.getSelectedItem().equals("0,10"))) {
    			result.setText("choix 11");
    		} else if ((spinner1.getSelectedItem().equals("70kg"))
    				& (spinner2.getSelectedItem().equals("0,25"))) {
    			result.setText("choix 12");
    		} else if ((spinner1.getSelectedItem().equals("70kg"))
    				& (spinner2.getSelectedItem().equals("0,50"))) {
    			result.setText("choix 13");
    		} else if ((spinner1.getSelectedItem().equals("70kg"))
    				& (spinner2.getSelectedItem().equals("0,75"))) {
    			result.setText("choix 14");
    		} else if ((spinner1.getSelectedItem().equals("70kg"))
    				& (spinner2.getSelectedItem().equals("1"))) {
    			result.setText("choix 15");
    		}
    		// poids 80Kg
    		else if ((spinner1.getSelectedItem().equals("80kg"))
    				& (spinner2.getSelectedItem().equals("0,10"))) {
    			result.setText("choix 16");
    		} else if ((spinner1.getSelectedItem().equals("80kg"))
    				& (spinner2.getSelectedItem().equals("0,25"))) {
    			result.setText("choix 17");
    		} else if ((spinner1.getSelectedItem().equals("80kg"))
    				& (spinner2.getSelectedItem().equals("0,50"))) {
    			result.setText("choix 18");
    		} else if ((spinner1.getSelectedItem().equals("80kg"))
    				& (spinner2.getSelectedItem().equals("0,75"))) {
    			result.setText("choix 19");
    		} else if ((spinner1.getSelectedItem().equals("80kg"))
    				& (spinner2.getSelectedItem().equals("1"))) {
    			result.setText("choix 20");
    		}
    		// poids 90Kg
    		else if ((spinner1.getSelectedItem().equals("90kg"))
    				& (spinner2.getSelectedItem().equals("0,10"))) {
    			result.setText("choix 21");
    		} else if ((spinner1.getSelectedItem().equals("90kg"))
    				& (spinner2.getSelectedItem().equals("0,25"))) {
    			result.setText("choix 22");
    		} else if ((spinner1.getSelectedItem().equals("90kg"))
    				& (spinner2.getSelectedItem().equals("0,50"))) {
    			result.setText("choix 23");
    		} else if ((spinner1.getSelectedItem().equals("90kg"))
    				& (spinner2.getSelectedItem().equals("0,75"))) {
    			result.setText("choix 24");
    		} else if ((spinner1.getSelectedItem().equals("90kg"))
    				& (spinner2.getSelectedItem().equals("1"))) {
    			result.setText("choix 25");
    		}
    	}
     
     
     
     
     
     
     
     
    	}
     
     
     
    	public void onNothingSelected(AdapterView<?> arg0) {
    		// TODO Auto-generated method stub
     
    	}
     
     
     
     
    }


    Bon maintenant j aimerai arriver a automatise cela et récupérer les données d un fichier xls ou trouver une combine pour pas me taper toute lignes if et else if . je continue a bosser mais déjà je ne suis plus bloquer MERCI ENCORE A VOUS TOUS

  18. #18
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 592
    Points : 18 498
    Points
    18 498
    Par défaut
    Moi ce que j'aurais fais c'est d'abord avoir une ArrayList d'Objet.

    Ensuite j'aurais créé une class qu'extends BaseAdapter, afin de remplir mes Spinners, et là j'avais fini.
    Puisque spinner1.getSelectedItemId() ça m'aurait retourné ce que je voulais.

    Toi t'as une ArrayList de String c'est ça ?

    En gros ça t'aurais fais :
    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
    public class MonAdapter extends BaseAdapter {
    	private ArrayList<String> mListe;
    	private LayoutInflater mInflater;
     
    	public PaysAdapter(Context mContext, ArrayList <String> mListe){
    		this.mListe = mListe;
    		mInflater = LayoutInflater.from(mContext); 
    	}
     
    	@Override
    	public int getCount() {
    		return mListe.size();
    	}
     
    	@Override
    	public Object getItem(int position) {
    		return mListe.get(position);
    	}
     
    	@Override
    	public long getItemId(int position) {
    		return position;
    	}
     
    	@Override
    	public View getView(int position, View convertView, ViewGroup parent) {
    		LinearLayout layoutItem;
     
    		if (convertView == null) {
    			layoutItem = (LinearLayout) mInflater.inflate(R.layout.row, parent, false);
    		} else {
    			layoutItem = (LinearLayout) convertView;
    		}
     
    		// là tu remplit ton TextView, bon là c'est un layout personnalisé, 
                    //mais on doit pouvoir utiliser celui de base
     
    		return layoutItem;
    	}
    }
    Et aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MonAdapter monAdapter = new monAdapter(this, maListe);
    spinner1.setAdapter(monAdapter);
    Et encore là tu pars d'une ArrayList de String, mais imagine si c'était une ArrayList d'une classe que ta créé.
    Keith Flint 1969 - 2019

  19. #19
    Membre du Club
    Homme Profil pro
    Administrateur Télécoms
    Inscrit en
    Décembre 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur Télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2010
    Messages : 67
    Points : 52
    Points
    52
    Par défaut
    Merci a toi pour toutes ces infos . peut tu juste me dire a quoi correspond une arraylist d objet je debute et c est une partie un peu obscure .
    Merci pour ce bout de code je bosse dessus pour voir comment cela fonctionne.

  20. #20
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 592
    Points : 18 498
    Points
    18 498
    Par défaut
    Non mais en fait ça t'apporterait rien pour le moment...
    Je me suis trompé j'avais mal compris ce que tu voulais faire.

    Un ArrayAdapter <String> doit faire exactement la même chose...

    Edit :
    D'ailleurs j'ai toujours pas compris ce que tu voulais faire.
    C'est bizarre t'as une masse, qui pourrais être exprimé en int et qui est en String.
    Et t'as un nombre, qui pourrais être un float ou un double et qui est en String.
    Keith Flint 1969 - 2019

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/09/2013, 12h41
  2. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  3. Réponses: 2
    Dernier message: 03/09/2009, 16h02
  4. [VB.Net] Faire du JS sur des contrôles côté serveur
    Par TagadaTsoin dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/11/2003, 15h51
  5. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31

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