当我的微调器正在访问第一个案例并立即重定向时,我遇到了问题。我如何使用:
@Override
public void onNothingSelected(AdapterView<?> view); {
// TODO Auto-generated method stub
}
方法在用户进行选择之前正确停留在页面上。以下是我的代码。
// Creating adapter for spinner & choosing Drop down layout style - list view
ArrayAdapter adapter = ArrayAdapter.createFromResource(this,R.array.event,android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
spinner.setAdapter(adapter);
//spinner needs to know who is responsible for handling events
spinner.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long l) {
//casting the view to textView
TextView myText=(TextView) view;
// use .getText to display what text was selected by user
Toast.makeText(this,"You Selected "+myText.getText(),Toast.LENGTH_SHORT).show();
switch (pos) {
case (0):
//Case selection redirecting user to 'Training Table'
Intent a = new Intent(Calendar.this, TrainingTable.class);
Calendar.this.startActivity(a);
break;
case (1):
//Case selection redirecting user to 'Race Table'
Intent b = new Intent(Calendar.this, Races.class);
Calendar.this.startActivity(b);
break;
case (2):
//Case selection redirecting user to 'Workshops page'
Intent c = new Intent(Calendar.this, Workshops.class);
Calendar.this.startActivity(c);
break;
}
答案 0 :(得分:3)
强制微调器选择一个项目:
spinner.setSelection(0);
然后设置监听器:
spinner.setOnItemSelectedListener(this);
创建微调器时,只需要执行一次。这样,您就可以避免在默认情况下调用一次OnItemSelectedListener
的不必要的调用。