我想到了一些不太优雅的方法来解决这个问题,但我知道我必须遗漏一些东西.
我onItemSelected立即开火,没有与用户进行任何交互,这是不受欢迎的行为.我希望UI等到用户选择之前做任何事情.
我甚至尝试过设置听众onResume(),希望这会有所帮助,但事实并非如此.
如何在用户触摸控件之前停止此操作?
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 …Run Code Online (Sandbox Code Playgroud) 我试图让Spinner加载没有选定的值.一旦用户选择了一个值,它就会将它们带到另一个页面.
这被证明是一个问题,因为目前,页面只是在用户选择之前立即加载.
我的微调器类的设置方式与Google的相同:http://developer.android.com/resources/tutorials/views/hello-spinner.html
所以基本上,是否有可能有一个微调器加载没有选择,因为目前,它加载我的字符串数组中的第一个项目.
我有一个微调器,我在对话框视图中显示,并且onItemSelected调用对话框开始的那一刻.我真的不想处理这个,但只有当用户做出选择时.所以我要么阻止这种情况(可能是因为没有设置默认值?),或者我需要知道进行此选择的用户不是?