【问题标题】:Basic Query about Spinner INVALID_POSITION关于 Spinner INVALID_POSITION 的基本查询
【发布时间】:2012-04-11 12:10:27
【问题描述】:

根据 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

【问题讨论】:

    标签: android android-layout spinner


    【解决方案1】:

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

    【讨论】:

    • 如果位置无效是使用 setSelection 设置的,你想说的无效位置是返回,如果是......它不是那样......我只是尝试过......如果你设置 -20 它会返回-20,其他情况也一样
    • 抱歉,我应该在发帖前检查一下。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2011-12-17
      • 2018-02-07
      • 2020-05-13
      • 1970-01-01
      • 2012-07-17
      • 2019-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多