Autore Topic: Popolare Spinner da db  (Letto 1021 volte)

Offline Ivan86

  • Utente junior
  • **
  • Post: 139
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S II
  • Sistema operativo:
    Windows 7
Popolare Spinner da db
« il: 15 Aprile 2011, 18:43:05 CEST »
0
Salve.

Ho implementato un dialog nel quale ho uno Spinner che preleva la sua lista di valori dal file strings.xml

quando interrogo il database vorrei settare lo spinner in base al valore prelevato dal db, ma non so qual'è l'istruzione e se si può fare.
quindi al caricamento del dialog vorrei trovarlo già settato

come faccio per entrambi?
« Ultima modifica: 15 Aprile 2011, 18:49:22 CEST da Ivan86 »

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Popolare Spinner da db
« Risposta #1 il: 15 Aprile 2011, 23:53:39 CEST »
0
Una volta che hai individuato l'elemento che vuoi selezionare basta che chiami il metodo setSelection

Offline Ivan86

  • Utente junior
  • **
  • Post: 139
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S II
  • Sistema operativo:
    Windows 7
Re:Popolare Spinner da db
« Risposta #2 il: 16 Aprile 2011, 00:16:13 CEST »
0
ma setSelection vuole la posizione, cioè un intero.
io gli passo il nome del campo

Codice: [Seleziona]
json_data.getString("tipo")

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Popolare Spinner da db
« Risposta #3 il: 16 Aprile 2011, 14:27:56 CEST »
+1
Qualcosa del genere:

Codice (Java): [Seleziona]
String tipo = json_data.getString("tipo");
spinner.setSelection(adapter.getPosition(tipo)));

Offline Ivan86

  • Utente junior
  • **
  • Post: 139
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S II
  • Sistema operativo:
    Windows 7
Re:Popolare Spinner da db
« Risposta #4 il: 16 Aprile 2011, 15:29:28 CEST »
0
ho fatto come dici tu, ma non mi esce..
Ecco il codice completo:
Codice (Java): [Seleziona]
                        final Spinner spnTipo = (Spinner)customDialog.findViewById(R.id.spn_tipo);
                        ArrayAdapter<CharSequence> adaptern = ArrayAdapter.createFromResource(this,R.array.feedback_spinner, android.R.layout.simple_spinner_item);
                        adaptern.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                        spnTipo.setAdapter(adaptern);
                        String tipo = json_data.getString("tipo");
                        spnTipo.setSelection(adaptern.getPosition(tipo));
                        Log.i("SPINNER",""+adaptern.getPosition(tipo));

il Log mi da il numero di posizione esatto dello spinner, ma non me lo visualizza al momento del caricamento :(

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Popolare Spinner da db
« Risposta #5 il: 16 Aprile 2011, 15:30:47 CEST »
0
mmm strano... hai provato con un adapter.notifyDataSetChanged()?
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Popolare Spinner da db
« Risposta #6 il: 16 Aprile 2011, 15:36:52 CEST »
0
L'hai messo nell'onPrepareDialog?

Offline Ivan86

  • Utente junior
  • **
  • Post: 139
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S II
  • Sistema operativo:
    Windows 7
Re:Popolare Spinner da db
« Risposta #7 il: 16 Aprile 2011, 15:39:59 CEST »
0
no sbagliavo io nell'onPrepareDialog.
praticamente il codice che ho postato lo richiamavo da un metodo,
uscito dal metodo, creavo nuovamente un altro spinner identico ma senza setSelection :P

grazie 1000