Salve, ho 3 spinner collegati tra loro (professione / professione_specifica / professione_livello).
Per quanto riguarda l'inserimento nel DB funziona tutto bene. Quando devo visualizzare il modulo per l'aggiornamento dei dati non riesco a visualizzare l'item gli spinner inseriti nel db.
per utilizzare gli spinner collegati tra loro utilizzo questo codice:
codice:
Spinner professione = (Spinner)findViewById(R.id.professione);
final ArrayAdapter<CharSequence> adapter_professione = ArrayAdapter.createFromResource(this, R.array.professione, android.R.layout.simple_spinner_item);
adapter_professione.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
professione.setAdapter(adapter_professione);
professione.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String selezionata = "p"+position;
Log.d("sel",selezionata);
final Spinner professione_specifica;
final Spinner professione_livello;
professione_specifica = (Spinner)findViewById(R.id.professione_specifica);
professione_specifica.setAdapter(null);
professione_specifica.setVisibility(View.GONE);
professione_livello = (Spinner)findViewById(R.id.professione_livello);
professione_livello.setAdapter(null);
professione_livello.setVisibility(View.GONE);
if( !selezionata.equals("p0") && !selezionata.equals("p9") ){
int resourceId = getResources().getIdentifier(selezionata, "array", getPackageName());
Log.d("num",String.valueOf(resourceId));
final ArrayAdapter<CharSequence> adapter_professione_specifica = ArrayAdapter.createFromResource(ViewProfessioni.this, resourceId, android.R.layout.simple_spinner_item);
adapter_professione_specifica.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
professione_specifica.setAdapter(adapter_professione_specifica);
professione_specifica.setClickable(true);
professione_specifica.setFocusable(true);
professione_specifica.setVisibility(View.VISIBLE);
professione_specifica.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
final Spinner professione_livello;
professione_livello = (Spinner)findViewById(R.id.professione_livello);
if( position != 0 ){
final ArrayAdapter<CharSequence> adapter_professione_livello = ArrayAdapter.createFromResource(ViewProfessioni.this, R.array.professione_livello, android.R.layout.simple_spinner_item);
adapter_professione_livello.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
professione_livello.setAdapter(adapter_professione_livello);
professione_livello.setClickable(true);
professione_livello.setFocusable(true);
professione_livello.setVisibility(View.VISIBLE);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}else{
professione_specifica.setClickable(false);
professione_specifica.setFocusable(false);
professione_livello.setClickable(false);
professione_livello.setFocusable(false);
professione_specifica.setAdapter(null);
professione_livello.setAdapter(null);
professione_specifica.setVisibility(View.GONE);
professione_livello.setVisibility(View.GONE);
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
per visualizzare l'item degli spinner contenuti nel db come devo fare?
il primo spinner lo visualizzo così:
codice:
final Spinner spnTipo = (Spinner)findViewById(R.id.professione);
ArrayAdapter<CharSequence> adaptern = ArrayAdapter.createFromResource(this, R.array.professione, android.R.layout.simple_spinner_item);
adaptern.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnTipo.setAdapter(adaptern);
String professione = c.getString(Config.TAG_PROFESSIONI);
spnTipo.setSelection(adaptern.getPosition(professione));
Log.i("SPINNER",""+adaptern.getPosition(professione));
per visualizzare gli altri 2 spinner (professione_specifica e professione_livello) come devo fare?Grazie