2

Android ドキュメントによると、

public int getSelectedItemPosition ()

導入されたバージョン: API レベル 1 アダプタのデータ セット内で現在選択されているアイテムの位置を返します。 int Position (0 から開始)、または何も選択されていない場合は INVALID_POSITION を返します。

スピナーが初期化されると、デフォルトの位置が 0 に設定されるため、 INVALID_POSITION が返されるケース/状況を知りたいです。

  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
4

2 に答える 2

1

を使用して要素が選択されsetSelection(int position)、位置が負であるか、要素の数よりも多い場合である可能性があります。

于 2012-04-11T12:16:20.790 に答える
0

空のスピナーがある場合は何も選択できないため、それが得られると思います。

于 2012-04-11T13:15:06.360 に答える