Saya telah memikirkan beberapa cara yang kurang elegan untuk menyelesaikan ini, tetapi saya tahu saya pasti kehilangan sesuatu.
onItemSelected
Fires saya langsung padam tanpa interaksi dengan pengguna, dan ini adalah perilaku yang tidak diinginkan. Saya berharap UI menunggu sampai pengguna memilih sesuatu sebelum melakukan apa pun.
Saya bahkan mencoba mengatur pendengar di onResume()
, berharap itu akan membantu, tetapi tidak.
Bagaimana saya bisa menghentikan ini agar tidak menyala sebelum pengguna dapat menyentuh kontrol?
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.
}
}
}
Spinner
kosong dan di dalam onItemSelected
Anda dapat mendeteksi jika String tidak kosong lalu startActivity
!