Autore Topic: Implementare più Spinner in un activity  (Letto 480 volte)

Offline gioviiz89

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Liquid A1
  • Sistema operativo:
    Windows 7
Implementare più Spinner in un activity
« il: 19 Gennaio 2012, 21:40:16 CET »
0
Ciao a tutti prima di tutti mi presento. Sono giovanni studente e speriamo futuro programmatore Android.
Vi chiedo aiuto perchè per realizzare un progetto per un esame mi trovo impantanato. ( perchè oggettivamente è la mia prima programmazione  :-( )

In pratica devo poter implementare due spinner nella mia ACTIVITY che salvino le selezioni in un ARRAY rispettivamente un PORTIERE ed un DIFENSORE..
Il primo spinner funziona alla meraviglia, mentre il secondo non salva sull'array ..credo d'averlo implementato male io e magari aver chiamato qualche variabile in modo riddondante..ma non riesco a scovare l'inghippo..mi affido a voi e vi ringrazio anticipatamente
Codice (Java): [Seleziona]
package giovi.rosa.esame;

import android.R.string;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import java.lang.Override;


public class RosaActivity extends Activity {
    /** Called when the activity is first created. */
       
        // quello che serve per la rosa

 int i = 1;
 public String selectedItem;
 public String[] arrayelementi = new String []{"Elemento 1","Elemento 2","Elemento 3","elemento 4","Elemento 5","Elemento 6","Elemento 7","elemento 8","Elemento 9","Elemento 10","Elemento 11"};
 Spinner spinnerP,spinnerD1;
 
// Portiere SPINNER E SCRITTURA NELL'ARRAY
  @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     
         spinnerP = (Spinner) findViewById(R.id.spinner1);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.portieri_array, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinnerP.setAdapter(adapter);
        spinnerP.setPrompt("Seleziona...");
        spinnerP.setOnItemSelectedListener(new MyOnItemSelectedListener());
    }
    public class MyOnItemSelectedListener implements OnItemSelectedListener {

        public void onItemSelected(AdapterView<?> parent,
            View view, int pos, long id) {
 //SALVATAGGIO portiere dentro l'array        
          selectedItem = parent.getItemAtPosition(pos).toString();
          arrayelementi[0] = selectedItem;
//prova del nove con toast
Toast.makeText(parent.getContext(), "il portiere è " +  arrayelementi[0], Toast.LENGTH_LONG).show();
        }

        public void onNothingSelected(AdapterView parent) {
          // Do nothing.
        }
    };
 // END portiere.

   
////////////////////
 // difensore1 SPINNER E SCRITTURA NELL'ARRAY
    @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
       
           spinnerD1 = (Spinner) findViewById(R.id.spinner2);
          ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                  this, R.array.portieri_array, android.R.layout.simple_spinner_item);
          adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
          spinnerD1.setAdapter(adapter);
          spinnerD1.setPrompt("Seleziona...");
          spinnerD1.setOnItemSelectedListener(new MyOnItemSelectedListener());
      }
      public class MyOnItemSelectedListener implements OnItemSelectedListener {

          public void onItemSelected(AdapterView<?> parent,
              View view, int pos, long id) {
   //SALVATAGGIO portiere dentro l'array        
            selectedItem = parent.getItemAtPosition(pos).toString();
            arrayelementi[1] = selectedItem;
  //prova del nove con toast
  Toast.makeText(parent.getContext(), "il primo aifensore è è " +  arrayelementi[1], Toast.LENGTH_LONG).show();
          }

          public void onNothingSelected(AdapterView parent) {
            // Do nothing.
          }
      };
   // END difensore

}
« Ultima modifica: 20 Gennaio 2012, 00:16:14 CET da gioviiz89 »

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Implementare più Spinner in un activity
« Risposta #1 il: 19 Gennaio 2012, 23:45:57 CET »
+2
Scusami ho letto il titolo che dice: più spinner in una Activity.
Leggo il codice e trovo 2 onCreate(Bundle).

Ora mi chiedo: sono i codici di 2 Activity diverse unite nello stesso codice?
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.

Offline gioviiz89

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Liquid A1
  • Sistema operativo:
    Windows 7
Re:Implementare più Spinner in un activity
« Risposta #2 il: 20 Gennaio 2012, 00:00:32 CET »
0
Scusami ho letto il titolo che dice: più spinner in una Activity.
Leggo il codice e trovo 2 onCreate(Bundle).

Ora mi chiedo: sono i codici di 2 Activity diverse unite nello stesso codice?

Oddio hai ragione! ho fatto un copia incolla molto molto poco utile da più progetti presi in rete! ho spostato lo spinner 2 nel primo OnCreate(Bundle)
ed ho cancellato completamente il secondo ...grazie infinite della risposta!!  :D

PS: ma dove è il tasto thanks?  ;-)

ecco il codice corretto
Codice (Java): [Seleziona]
public class RosaActivity extends Activity {
    /** Called when the activity is first created. */
       
        // quello che serve per la rosa

 int i = 1;
 public String selectedItem;
 public String[] arrayelementi = new String []{"Elemento 1","Elemento 2","Elemento 3","elemento 4","Elemento 5","Elemento 6","Elemento 7","elemento 8","Elemento 9","Elemento 10","Elemento 11"};
 Spinner spinnerP,spinnerD1;
 
// Portiere SPINNER E SCRITTURA NELL'ARRAY
  @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     
         spinnerP = (Spinner) findViewById(R.id.spinner1);
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.portieri_array, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinnerP.setAdapter(adapter);
        spinnerP.setPrompt("Seleziona...");
        spinnerP.setOnItemSelectedListener(new MyOnItemSelectedListener());
        //TRY
        spinnerD1 = (Spinner) findViewById(R.id.spinner2);
        ArrayAdapter<CharSequence> adapter1 = ArrayAdapter.createFromResource(
                this, R.array.difensori_array, android.R.layout.simple_spinner_item);
        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinnerD1.setAdapter(adapter1);
        spinnerD1.setPrompt("seleziona stò cazzo..");
        spinnerD1.setOnItemSelectedListener(new MyOnItemSelectedListener1());
        //STOP TRY
  }
   
    public class MyOnItemSelectedListener implements OnItemSelectedListener {

        public void onItemSelected(AdapterView<?> parent,
            View view, int pos, long id) {
 //SALVATAGGIO portiere dentro l'array        
          selectedItem = parent.getItemAtPosition(pos).toString();
          arrayelementi[0] = selectedItem;
//prova del nove con toast
Toast.makeText(parent.getContext(), "il portiere è " +  arrayelementi[0], Toast.LENGTH_LONG).show();
        }

        public void onNothingSelected(AdapterView parent) {
          // Do nothing.
        }
    };
 // END portiere.
    public class MyOnItemSelectedListener1 implements OnItemSelectedListener {

        public void onItemSelected(AdapterView<?> parent,
            View view, int pos, long id) {
 //SALVATAGGIO portiere dentro l'array        
          selectedItem = parent.getItemAtPosition(pos).toString();
          arrayelementi[1] = selectedItem;
//prova del nove con toast
Toast.makeText(parent.getContext(), "primo difensore  è " +  arrayelementi[1], Toast.LENGTH_LONG).show();
        }

        public void onNothingSelected(AdapterView parent) {
          // Do nothing.
        }
     
}}
« Ultima modifica: 20 Gennaio 2012, 00:02:13 CET da gioviiz89 »

Offline alexAndroid

  • Utente normale
  • ***
  • Post: 185
  • Respect: +27
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Giò
  • Sistema operativo:
    Ubuntu 11.10; Windows XP
Re:Implementare più Spinner in un activity
« Risposta #3 il: 20 Gennaio 2012, 00:13:36 CET »
0
Quindi ora funziona tutto correttamente? Mi ha fatto piacere esserti stato utile  ;-)
Il tasto thanks è alla sinistra del tasto Citazione (in alto a destra di ogni Post di altri utenti).
Se il problema è risolto puoi settare il topic a risolto (tasto in fondo alla pagina)
Sei stato aiutato oppure il tuo problema è stato risolto? Allora premi il tasto THANKS E' un modo utile e carino per ringraziare chi ti è stato di aiuto.

Offline gioviiz89

  • Nuovo arrivato
  • *
  • Post: 34
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Liquid A1
  • Sistema operativo:
    Windows 7
Re:Implementare più Spinner in un activity
« Risposta #4 il: 20 Gennaio 2012, 00:16:02 CET »
0
Quindi ora funziona tutto correttamente? Mi ha fatto piacere esserti stato utile  ;-)
Il tasto thanks è alla sinistra del tasto Citazione (in alto a destra di ogni Post di altri utenti).
Se il problema è risolto puoi settare il topic a risolto (tasto in fondo alla pagina)

che strano a me dice solo Show Voters :(

Comunque ora va tutto alla perfezione :) mi sei stato utilissimo grazie!!! spero di poter ricambiare in futuro!