Ho modificato un pò il tutto.
Popolare il secondo Spinner in base all'item selezionato nel primo, (il terzo spinner è uguale per tutte le voci)
Creo l'.apk e non mi da nessun errore.
lo installo sul dispositivo, l'applicazione parte arrivo al modulo vedo i 3 Spinner ma non mi da nessun errore.
Come posso risolverlo?
di seguito il codice che popola gli Spinner.
codice:
public class DatiProfessione extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.moduloprofessione);
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(DatiProfessione.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(DatiProfessione.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) {
}
});
}
@Override
protected void onStart() {
super.onStart();
ScrollView rel = (ScrollView) findViewById(R.id.scroll);
Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.bkg);
rel.setBackground(drawable);
}
}
Grazie