0

Androidのスピナーから選択したアイテムを取得するには?

4

3 に答える 3

1
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
            // your code here
        }

        @Override
        public void onNothingSelected(AdapterView<?> parentView) {
            // your code here
        }

    });

ノート:

Spinnerウィジェットのドキュメントには、次のように明確に記載されています。

A spinner does not support item click events. Calling this 
method will raise an exception.

上記のように、代わりにOnItemSelectedListener()を使用することをお勧めします。

于 2010-08-02T12:55:27.510 に答える
0

このコードを試してください..

sp2.setOnItemSelectedListener(new OnItemSelectedListener()
 {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long id) {
        // TODO Auto-generated method stub
        int selected_item_position = arg2;
        String selected_item=sp2.getSelectedItem().toString();

        }

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

        }
 });
于 2012-08-02T03:50:24.247 に答える
0

アクティビティで:

mSpinner = (Spinner) findViewById(R.id.my_spinner);

// Define your adapter, in my case I have a class (SpinnerData) so I get an ID instead of the spinner's text 
ArrayAdapter<SpinnerData> myadapter = new ArrayAdapter<SpinnerData>(
  this, android.R.layout.simple_spinner_item, new SpinnerData [] {
  new SpinnerData("1","Item 1"),
  new SpinnerData("2","Item 2")
});

myadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    mSpinner.setAdapter(myadapter);
    mSpinner.setOnItemSelectedListener(this);

これは、フォームに onItemSelected イベントをトリガーする他の要素がある場合に便利です。

    public void onItemSelected(AdapterView<?> parent, View view, int position, long id{
    SpinnerData sd;


    switch (parent.getId()) {

    case R.id.my_spinner:
        sd = (SpinnerData)mSpinner.getSelectedItem();
        // do something with sd.id
        break;

... }

参考までに、SpinnerData クラス:

public class SpinnerData {

public String id;
public String name;

public SpinnerData(String _id, String _name) {

    this.id = _id;
    this.name = _name;

}

public String toString() {
    return this.name;
}

}

それが役に立てば幸い。

于 2011-03-04T12:12:02.763 に答える