关于Spinner INVALID_POSITION的基本查询

时间:2012-04-11 12:10:28

标签: android android-layout spinner

根据Android文档,

public int getSelectedItemPosition()

自:API级别1 返回适配器数据集中当前所选项的位置 返回 int Position(从0开始),如果没有选择,则为INVALID_POSITION。

现在我想知道返回INVALID_POSITION的情况/情况,因为当初始化微调器时,默认位置设置为0.

  Spinner spinner=(Spinner)findViewById(R.id.spinner1);
    ArrayAdapter<String> adapterVehicleList = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, vehicleTypeList);
    adapterVehicleList.setDropDownViewResource(android.R.layout.select_dialog_singlechoice);
    spinner.setAdapter(adapterVehicleList);
    spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            // TODO Auto-generated method stub

        }

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

        }
    });

    int position =spinner.getSelectedItemPosition();
             position =spinner.getSelectedItemPosition();
    Toast.makeText(this,String.valueOf(position),Toast.LENGTH_LONG).show();code here

2 个答案:

答案 0 :(得分:1)

我怀疑可能是在使用setSelection(int position)选择元素且位置为负数或大于元素数时。

答案 1 :(得分:0)

我相信当你有一个空的微调器时你会得到的,因为在这种情况下什么都不能选。