2014-08-28 118 views
1

我有一个问题,当我的微调访问第一个案件,并立即重定向。我如何使用:Android微调,没有选择

@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; 
    } 

回答

2

强制微调,以选择一个项目:

spinner.setSelection(0); 

,然后设置监听器:

spinner.setOnItemSelectedListener(this); 

这只需要做一次,在创建时微调。通过这种方式,您可以避免收到不需要的电话OnItemSelectedListener,默认情况下会调用一次。