Autore Topic: La scelta di uno spinner modifica un secondo spinner  (Letto 1115 volte)

Offline Nokias

  • Utente junior
  • **
  • Post: 58
  • Respect: +1
    • Mostra profilo
La scelta di uno spinner modifica un secondo spinner
« il: 11 Giugno 2011, 14:17:13 CEST »
0
Buongiorno a tutti , ho un problema con uno spinner..vi spiego la realtà in cui mi trovo .

Ho un database con molte categorie esempio:
- Automobili
- Televisori
- Console .....

E per ogni categoria ho alcuni oggetti :
- Automobili
    --> Audi
    --> Ferrari

- Televisori
   --> Sharp
   --> Mivar

- Console
  --> Playstation
  --> Wii

Dopo che vi ho spiegato nella situazione in cui mi trovo vi spiego il mio problema.
Devo creare due spinner uno con le categorie e l'altro con gli oggetti .
Una volta inserita sul primo spinner la categoria sul secondo spinner devono uscire solo gli elementi di quella categoria:
PRIMO SPINNER
Seleziono televisori

Secondo SPINNER
--> Sharp
--> Mivar

Come potrei fare?Dovrei riuscire ad intercettare la selezione del primo spinner?Grazie a tutti per le risposte!!

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:La scelta di uno spinner modifica un secondo spinner
« Risposta #1 il: 11 Giugno 2011, 20:15:14 CEST »
0
Non l'ho mai fatto ma credo che una soluzione possa essere questa:
  • Setti l'adapter sul primo spinner
  • Setti l'OnItemSelectedListener() sul primo spinner
  • Dentro l'onItemSelected() del primo spinner imposti l'adapter del secondo spinner

Dovrebbe funzionare, facci sapere :)
« Ultima modifica: 11 Giugno 2011, 20:16:50 CEST da JD »
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline Gigiuz

  • Utente normale
  • ***
  • Post: 187
  • Respect: +23
    • Google+
    • gigiuzzo81
    • Gigiuz81
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Note III
  • Play Store ID:
    GGXSoft
  • Sistema operativo:
    Windows 7 64bit, OS X (virtualized), Ubuntu
Re:La scelta di uno spinner modifica un secondo spinner
« Risposta #2 il: 11 Giugno 2011, 21:02:26 CEST »
+2
Non l'ho mai fatto ma credo che una soluzione possa essere questa:
  • Setti l'adapter sul primo spinner
  • Setti l'OnItemSelectedListener() sul primo spinner
  • Dentro l'onItemSelected() del primo spinner imposti l'adapter del secondo spinner

Dovrebbe funzionare, facci sapere :)

Sì funziona così (testato personalmente). Stavo postando parti di codice ma il forum mi ha dato un errore di connessione, ho perso tutto (scrivevo di getto, non avevo fonti da copia/incollare) :( e non avevo il tempo di riscrivere daccapo...

Per riassumere, come dice JD ti costruisci un SimpleCursorAdapter con i dati dal db che vanno a popolare il 1° spinner. Quando selezioni un elemento da questo spinner passi il long id generato dal listner ad un metodo ad-hoc che costruisce un altro SimpleCursorAdapter che richiama i dati dal db per il secondo spinner (fermo restando che tu abbia impostato nella seconda tabella una colonna di riferimento agli _id della prima per poter effettuare la query corretta).

Sempre nello stesso metodo imposti l'adapter così creato al secondo spinner e hai fatto. :)

PS
Se hai ancora problemi fammi sapere che appena possibile ti posto il codice di esempio
Hai bisogno di implementare un sistema di "codici seriali di sblocco" nella tua applicazione? Dai un'occhiata alla mia libreria: RemoteUnlocker