Android微调器,没有选择

时间:2014-08-28 19:14:27

标签: android spinner selection

当我的微调器正在访问第一个案例并立即重定向时,我遇到了问题。我如何使用:

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

1 个答案:

答案 0 :(得分:3)

强制微调器选择一个项目:

spinner.setSelection(0);

然后设置监听器:

spinner.setOnItemSelectedListener(this);

创建微调器时,只需要执行一次。这样,您就可以避免在默认情况下调用一次OnItemSelectedListener的不必要的调用。