Autore Topic: Come variare uno spinner da un altro spinner  (Letto 659 volte)

Offline IL_PAGO

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Honor8
  • Sistema operativo:
    windows
Come variare uno spinner da un altro spinner
« il: 25 Aprile 2017, 18:16:44 CEST »
0
Ciao a tutti,
Ho cercato sul web ma non ho trovato alcuna risposta, Sto popolando uno spinner dal mio file strings.xml tramite uno String-array con dei valori,
vorrei riuscire a fare in modo che a seconda della selezione dell'utente nel suddetto spinner vari il riempimento dello spinner secondario sempre popolato da altri valori inseriti in altri string-array che variano a seconda della selezione.
è possibile?????

grazieeeee

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 804
  • Respect: +168
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 10 x64
Re:Come variare uno spinner da un altro spinner
« Risposta #1 il: 26 Aprile 2017, 13:12:14 CEST »
0
Sì è possibile.
Nel primo spinner aggiungi un listener con OnItemSelectedListener.

Nel codice del listener aggiorni il secondo spinner.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline IL_PAGO

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Honor8
  • Sistema operativo:
    windows
Re:Come variare uno spinner da un altro spinner
« Risposta #2 il: 04 Maggio 2017, 10:10:08 CEST »
0
graziee milee :-)

Offline IL_PAGO

  • Nuovo arrivato
  • *
  • Post: 10
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Honor8
  • Sistema operativo:
    windows
Re:Come variare uno spinner da un altro spinner
« Risposta #3 il: 08 Dicembre 2017, 14:11:39 CET »
0
GRAZIE DELL INDICAZIONE MA MI GENERA UN ALTRO ERRORE L' INSERIMENTO DELLO SPINNER DENTRO UN ALTRO :
COPIO QUI SOTTO IL LOG:

FATAL EXCEPTION: main
                  Process: com.dooale.dooale, PID: 30492
                  java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Spinner.setAdapter(android.widget.SpinnerAdapter)' on a null object reference
                      at com.dooale.dooale.Find_Place$1.onItemSelected(Find_Place.java:216)
                      at android.widget.AdapterView.fireOnSelected(AdapterView.java:931)
                      at android.widget.AdapterView.dispatchOnItemSelected(AdapterView.java:920)
                      at android.widget.AdapterView.-wrap1(AdapterView.java)
                      at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:890)
                      at android.os.Handler.handleCallback(Handler.java:751)
                      at android.os.Handler.dispatchMessage(Handler.java:95)
                      at android.os.Looper.loop(Looper.java:154)
                      at android.app.ActivityThread.main(ActivityThread.java:6119)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

mi dice che il mio puntatore è nullo e non capisco perchè
scrivo qui sotto parte del mio codice:

res= getResources();
            String [] Prodoct_family = res.getStringArray(R.array.Prodoct_family);
            final Spinner NumProdotti = (Spinner) findViewById(R.id.spinner_Prodoct);
            ArrayAdapter<String> adapter_Lista;
            adapter_Lista = new ArrayAdapter<String>(this, layout.simple_spinner_item,Prodoct_family);
            adapter_Lista.setDropDownViewResource(layout.simple_spinner_dropdown_item);
            NumProdotti.setAdapter(adapter_Lista);




            //Gestisco la selezione del prodotto
            NumProdotti.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

                    // Se lo spinner è stato selezionato
                    Spinner_Family_position = NumProdotti.getSelectedItemPosition();
                    Spinner_Family_Name= (String) NumProdotti.getSelectedItem();


                 if (Spinner_Family_position == 0 ){
                     // se non ho selezionato niente
                     Toast.makeText(getApplicationContext(),R.string.Not_Selected, Toast.LENGTH_LONG).show();
                 }else {
                     // Se seleziono prodotti e attivo gli altri spinner
                     final Spinner CategoryProdoct = (Spinner) findViewById(R.id.spinner_CategoryADD);

                    if(Spinner_Family_position==1){
                         String [] Prodoct_Category = res.getStringArray(R.array.Meat);
                         ArrayAdapter<String> adapter_category = new ArrayAdapter<String> Find_Place.this,layout.simple_spinner_item , Prodoct_Category);
                         adapter_category.setDropDownViewResource(layout.simple_spinner_dropdown_item);
                         CategoryProdoct.setAdapter(adapter_category);
                        // CategoryProdoct.setOnItemSelectedListener(this);
                         CategoryProdoct.setVisibility(View.VISIBLE);
                     }