2012-01-30 5 views
0

J'ai placé 4 fileurs dans un SlidingDrawer. Et j'ai créé une chaîne de tableau dans string.xml, commeComment changer dynamiquement le contenu des Spinners

<string-array name="colorArray"> 
     <item>Red</item> 
     <item>Green</item> 
     <item>Blue</item> 
     <item>Orange</item> 
     <item>While</item> 
     <item>Black</item> 
</string-array> 

Je veux remplir les fileurs avec ce tableau ..

Pour que je l'avais fait comme,

option1 = (Spinner)findViewById(R.id.spinner_first); 
    adapter = ArrayAdapter.createFromResource(getApplicationContext(), 
      R.array.colorArray, android.R.layout.simple_spinner_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    option1.setAdapter(adapter); 

et la même chose pour les autres 3. Cela fonctionne bien pour moi maintenant. Maintenant, le résultat est comme, l'ensemble du tableau est répertorié sur tous les fileurs.

Mais je veux supprimer l'élément sélectionné par un spinner dans tous les autres filateurs, de sorte que cet élément ne figure pas dans l'autre 3. Par exemple, si je choisis "rouge" pour le premier spinner, l'article "Rouge" doit être retiré de tous les autres filateurs.

Comment cela peut-il être réalisé.

codes exemples et des conseils seront appréciables .. Merci à l'avance ..

Répondre

0

juste créer le tableau sous de tableau principal

comme récupère d'abord le tableau à partir du fichier XML maintenant par défaut la position 0e comme sélectionnée par défaut sautée alors dans le tableau sous

String mainArr[]; // fetch from xml 

String sub1[] = new String[mainArr.length-1]; 

stocker maintenant la valeur du tableau principal dans le tableau sub1 par itérer et en obtenir mis la condition pour stocker la valeur si la sélectionnée position == i t poule sauter ou sélectionnés position!=i faire dans l'auditeur élément de changement de re créer une matrice à partir du tableau principal avec sauter l'élément sélectionné et notifier par l'adaptateur

0

Dans votre onItemSelected() pour la OnItemSelectedListener pour le Spinner , vous devez faire ce qui suit pour chacune des autres Spinners:

Spinner spinner; // Each one of the other spinners 
String item; // Item selected in the current spinner 

// Get the adapter for the other spinner 
ArrayAdapter<CharSequence> array = spinner.getAdapter(); 
// Remove selected element in the current spinner from adapter 
array.remove(item); 
// Set adapter again 
spinner.setAdapter(array); 

Désolé mais je ne (et ne peut pas) tester ...

Questions connexes