Ho creato uno spinner che viene aggiornato automaticamente con i nomi delle appliance quando una persona aggiunge un'appliance utilizzando un adattatore di array. Ho creato un metodo OnItemSelected con lo spinner, quindi quando uno dei nomi nella selezione è selezionato, viene visualizzata una nuova finestra. Tuttavia, OnItemSelected seleziona automaticamente il primo elemento dell'elenco all'avvio dell'attività e quindi l'utente non ha la possibilità di effettuare una selezione finché non viene visualizzata la nuova finestra.Come rendere On Item Selected non scegliere automaticamente la prima voce
Ecco il codice:
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
startActivity(new Intent("com.lukeorpin.theappliancekeeper.APPLIANCESELECTED"));
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
Qualcuno sa un modo in cui il primo elemento della lista solito viene selezionata automaticamente?
Ecco il codice per il resto del filatore:
ArrayAdapter<String> appliancenameadapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, ApplianceNames); //Sets up an array adapter containing the values of the ApplianceNames string array
applianceName = (Spinner) findViewById(R.id.spinner_name); //Gives the spinner in the xml layout a variable name
applianceName.setAdapter(appliancenameadapter); //Adds the contents of the array adapter into the spinner
applianceName.setOnItemSelectedListener(this);
Stai chiamando setSelection sullo Spinner? Com'è il resto del tuo codice attività? – twaddington
Ho aggiunto il codice alla domanda principale, grazie – Sketzii
possibile duplicato di [Come mantenere suItemSelected l'attivazione su uno Spinner appena istanziato?] (Http://stackoverflow.com/questions/2562248/how-to-keep -onitemelected-from-firing-off-on-a-new-instantiated-spinner) –