Autore Topic: Spinner e grattacapi  (Letto 634 volte)

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Spinner e grattacapi
« il: 19 Agosto 2010, 12:58:32 CEST »
0
problema: ho uno spinner con una serie di dati e vorrei che, selezionando un valore diverso, il programma eseguisse una certa azione.
Il mio codice dell'evento onCreate è il seguente:
Codice (Java): [Seleziona]
public void onCreate(Bundle savedInstanceState) {
        [...]
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, array);        
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);                  
        ChunkSize = (Spinner) findViewById(R.id.Spinner01);
        FileParts = (TextView) findViewById(R.id.TextView05);
        ChunkSize.setAdapter(adapter);        
        ChunkSize.setEnabled(false);           
        ChunkSize.setOnItemSelectedListener(
                            new  AdapterView.OnItemSelectedListener() {
                                @Override
                                        public void onItemSelected(AdapterView<?> arg0,
                                                        View arg1, int arg2, long arg3) {
                                                FileParts.setText(ChunkSize.getSelectedItemPosition());
                                        }
                                        @Override
                                        public void onNothingSelected(AdapterView<?> arg0) {
                                                // TODO Auto-generated method stub
                                        }
                                //add some code here
                            }
                        );
[...]
Quando il programma carica l'activity, va in crash e si interrompe l'esecuzione.
A quanto pare il problema è nella riga
Codice (Java): [Seleziona]
ileParts.setText(ChunkSize.getSelectedItemPosition());. Se la commento, il programma parte normalmente ma poi non sono in grado di ottenere alcun effetto se cambio il valore dello Spinner.

Domande:
  • Come risolvo?
  • E' possibile fare in modo che lo spinner non mostri alcun valore all'avvio?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Spinner e grattacapi
« Risposta #1 il: 19 Agosto 2010, 13:11:13 CEST »
0
Domande:
  • Come risolvo?
  • E' possibile fare in modo che lo spinner non mostri alcun valore all'avvio?

Per la domanda 1, la causa potrebbe essere che non hai messo toString, e comunque puoi usare direttamente arg2 come posizione dell'item selezionato:

Codice (Java): [Seleziona]
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
   FileParts.setText(ChunkSize.getItemAtPosition(arg2).toString());
   }

Per la domanda 2 non so.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline zipgenius

  • Utente junior
  • **
  • Post: 80
  • Respect: +17
    • matteoriso
    • Mostra profilo
    • ZipGenius
  • Dispositivo Android:
    Samsung Galaxy S
  • Play Store ID:
    Wininizio.it Software
  • Sistema operativo:
    Windows 7
Re:Spinner e grattacapi
« Risposta #2 il: 19 Agosto 2010, 18:16:02 CEST »
0
Questo è paradossale...
Ho linkato
Codice (Java): [Seleziona]
FileParts.setText(ChunkSize.getSelectedItemPosition()); ad un Button e cliccandolo mi manda ancora in crash il programma...

Dove posso trovare del codice d'esempio che dimostri l'esecuzione di un azione al cambio di selezione in uno Spinner?