具有OnItemSelectedListener问题的多个旋转器

时间:2014-02-05 17:09:47

标签: java android string spinner toast

我有一个包含两个微调器的活动,并实现了OnItemSelectedListener。要找出选择了哪个项目,请使用开关。当一个项目被选中时,我会有一个简单的吐司来告诉用户选择了什么。问题是,当创建活动时,会出现一个toast并说明选择了哪个项目。我只希望在用户选择除默认项目之外的东西时显示toast,即创建活动时显示的项目。这是我的代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    SpinnerAdapterTexts sat = new SpinnerAdapterTexts();

    final Spinner spin = (Spinner)findViewById(R.id.spinner);
    ArrayAdapter<String> arrayAd = new ArrayAdapter<String>(this,R.layout.row,R.id.type,sat.getType());
    spin.setAdapter(arrayAd);
    spin.setOnItemSelectedListener(this);

    final Spinner spinService = (Spinner)findViewById(R.id.spinnerService);
    ArrayAdapter<String> arrayAd2 = new ArrayAdapter<String>(this,R.layout.row,R.id.type, sat.getServices());
    spinService.setAdapter(arrayAd2);
    spinService.setOnItemSelectedListener(this);

}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos ,
        long id) {
    // TODO Auto-generated method stub@

    switch(parent.getId()) {
        case R.id.spinner:
            selectedType = parent.getItemAtPosition(pos).toString();

            Toast.makeText(getApplicationContext(),  selectedType + " was selected", Toast.LENGTH_LONG).show();

            break;
        case R.id.spinnerService:
            selectedType = parent.getItemAtPosition(pos).toString();

            Toast.makeText(getApplicationContext(),  selectedType + " was selected", Toast.LENGTH_LONG).show();
            break;
    }

    selectedType = parent.getItemAtPosition(pos).toString();
    Log.e("TAG",  selectedType);

}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
    // TODO Auto-generated method stub

}

1 个答案:

答案 0 :(得分:0)

然后这样做

int count;
protected void onCreate(){
    count=0;
    //your codes
}
//then before toast
if(count==0){
    count=1;
    Toast(the user selection);
}