Tôi đã nghĩ ra một số cách ít thanh lịch hơn để giải quyết vấn đề này, nhưng tôi biết tôi phải thiếu một cái gì đó.
My onItemSelected
tắt ngay lập tức mà không có bất kỳ tương tác nào với người dùng và đây là hành vi không mong muốn. Tôi muốn cho UI chờ cho đến khi người dùng chọn một cái gì đó trước khi nó làm bất cứ điều gì.
Tôi thậm chí đã thử thiết lập trình nghe trong onResume()
, hy vọng điều đó sẽ có ích, nhưng không được.
Làm cách nào tôi có thể ngăn điều này bắn ra trước khi người dùng có thể chạm vào điều khiển?
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
trống và bên trong onItemSelected
bạn có thể phát hiện nếu Chuỗi không trống rồi startActivity
!