2013年7月18日木曜日

Spinnerの項目を文字列で選択したい

spinnerの項目をプログラムで選択するにはSpinner.setSelectionを使いますが、これの引数がsetSelection(int position)となっていて文字列では選択できません
setTextなんかで入れれば自動的にリストにある同名の項目が選択状態になればいいのになあ、ということで作ってみました。

    public static void setSelection(Spinner spinner, String item) {
        SpinnerAdapter adapter = spinner.getAdapter();
        int index = 0;
        for (int i = 0; i < adapter.getCount(); i++) {
            if (adapter.getItem(i).equals(item)) {
                index = i; break;
            }
        }
        spinner.setSelection(index);
    }

他spinnerにはこんな落とし穴もあるので注意
Spinnerのバグでハマる
http://team-pag.interprism.co.jp/member/noguchi/blog/2010/11/Spinnerのバグでハマる

0 件のコメント:

コメントを投稿