Autore Topic: spinner da database  (Letto 242 volte)

Offline newbie2016

  • Utente junior
  • **
  • Post: 79
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Cubot X9
  • Sistema operativo:
    Windows 7
spinner da database
« il: 04 Luglio 2016, 21:27:42 CEST »
0
Salve, ho un modulo per la modifica dei dati utente in un db.

Tutti i dati li riesco a visualizzare con EditText, ma per gli spinner come posso fare?

Ho mi seguenti Spinner (a second adella scelta del primo spinner si visualizzeranno determinate voci nel secondo spinner,....)

Codice (XML): [Seleziona]
<Spinner
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/interesse"
           android:spinnerMode="dialog"
           style="@style/Widget.MyApp.HeaderBar.Spinner"
           android:layout_below="@+id/interessi"
           android:layout_marginTop="25dp" />

        <Spinner
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/interesse_specifico"
           android:clickable="false"
           android:focusable="false"
           android:layout_marginTop="25dp"
           android:spinnerMode="dialog"
           style="@style/Widget.MyApp.HeaderBar.Spinner"

       <Spinner
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:id="@+id/interesse_livello"
           android:clickable="false"
           android:focusable="false"
           android:layout_marginTop="25dp"
           android:spinnerMode="dialog"
           style="@style/Widget.MyApp.HeaderBar.Spinner" />


per popolare gli Spinner utilizzo questo codice:

Codice (Java): [Seleziona]
Spinner interesse = (Spinner)findViewById(R.id.interesse);
        final ArrayAdapter<CharSequence> adapter_interesse = ArrayAdapter.createFromResource(this, R.array.interesse, android.R.layout.simple_spinner_item);
        adapter_interesse.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        interesse.setAdapter(adapter_interesse);
        interesse.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                String selezionata = "int"+position;
                Log.d("sel",selezionata);
                final Spinner interesse_specifico;
                final Spinner interesse_livello;
                interesse_specifico = (Spinner)findViewById(R.id.interesse_specifico);
                interesse_specifico.setAdapter(null);
                interesse_specifico.setVisibility(View.GONE);
                interesse_livello = (Spinner)findViewById(R.id.interesse_livello);
                interesse_livello.setAdapter(null);
                interesse_livello.setVisibility(View.GONE);
                if( !selezionata.equals("int0") && !selezionata.equals("int9") ){
                    int resourceId = getResources().getIdentifier(selezionata, "array", getPackageName());
                    Log.d("num",String.valueOf(resourceId));
                    final ArrayAdapter<CharSequence> adapter_interesse_specifico = ArrayAdapter.createFromResource(ViewInteressi.this, resourceId, android.R.layout.simple_spinner_item);
                    adapter_interesse_specifico.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    interesse_specifico.setAdapter(adapter_interesse_specifico);
                    interesse_specifico.setClickable(true);
                    interesse_specifico.setFocusable(true);
                    interesse_specifico.setVisibility(View.VISIBLE);
                    interesse_specifico.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                        @Override
                        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                            final Spinner interesse_livello;
                            interesse_livello = (Spinner)findViewById(R.id.interesse_livello);
                            if( position != 0 ){
                                final ArrayAdapter<CharSequence> adapter_interesse_livello = ArrayAdapter.createFromResource(ViewInteressi.this, R.array.professione_livello, android.R.layout.simple_spinner_item);
                                adapter_interesse_livello.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                                interesse_livello.setAdapter(adapter_interesse_livello);
                                interesse_livello.setClickable(true);
                                interesse_livello.setFocusable(true);
                                interesse_livello.setVisibility(View.VISIBLE);
                            }
                        }

                        @Override
                        public void onNothingSelected(AdapterView<?> parent) {

                        }
                    });
                }else{
                    interesse_specifico.setClickable(false);
                    interesse_specifico.setFocusable(false);
                    interesse_livello.setClickable(false);
                    interesse_livello.setFocusable(false);
                    interesse_specifico.setAdapter(null);
                    interesse_livello.setAdapter(null);
                    interesse_specifico.setVisibility(View.GONE);
                    interesse_livello.setVisibility(View.GONE);
                }
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });


il contenuto degli spinner viene prelevato da faile xml.

fino a quando faccio la registrazione va tutto bene.
Quando devo modificare il contenuto vorrei che visualizzare gli spinner con le scelte che ho fatto al momento della registrazione (i dati sono contenuti nel db mysql)

Come posso fare?

Grazie
« Ultima modifica: 05 Luglio 2016, 16:15:16 CEST da newbie2016 »