J'ai pensé à des moyens moins qu'élégants de résoudre ce problème, mais je sais que quelque chose doit m'échapper.
Mon onItemSelected
se déclenche immédiatement sans aucune interaction avec l'utilisateur, et c'est un comportement indésirable. Je souhaite que l'interface utilisateur attende que l'utilisateur sélectionne quelque chose avant de faire quoi que ce soit.
J'ai même essayé de configurer l'écouteur dans le fichier onResume()
en espérant que ça aiderait, mais ce n'est pas le cas.
Comment puis-je l'empêcher de se déclencher avant que l'utilisateur puisse toucher la commande ?
public class CMSHome extends Activity {
private Spinner spinner;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Heres my spinner ///////////////////////////////////////////
spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.pm_list, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
};
public void onResume() {
super.onResume();
spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}
public class MyOnItemSelectedListener implements OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent,
View view, int pos, long id) {
Intent i = new Intent(CMSHome.this, ListProjects.class);
i.putExtra("bEmpID", parent.getItemAtPosition(pos).toString());
startActivity(i);
Toast.makeText(parent.getContext(), "The pm is " +
parent.getItemAtPosition(pos).toString(), Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView parent) {
// Do nothing.
}
}
}
2 votes
Vous pouvez envisager cette solution, elle est facile et pratique. stackoverflow.com/a/10102356/621951
1 votes
Une solution simple consisterait à faire en sorte que le premier élément de la rubrique
Spinner
vide et intérieuronItemSelected
vous pouvez détecter si la chaîne n'est pas vide alorsstartActivity
!0 votes
Ce modèle fonctionne correctement stackoverflow.com/questions/13397933/