私はCursorAdapter
が入力されたスピナーを持っています。 (動的に)スピンナーを作成するときに、デフォルトの選択を0とは異なる0に設定したいとします。Android Spinner.setSelection()が機能しません
作成した。しかし何らかの理由で、私がそのセッターで何を渡しても0はいつもスピーカーのOnItemSelectedListener
のonItemSelected()
メソッドに渡されます。
最初の最初の選択が行われるまで待ってからセッターを再実行すると、すべて正常に動作します。だから、ここでそれをより明確にするために、私は、デバッガで見るものである:、
- オブジェクト(スピナー)
- スピナーリスナーを作成している が
- セッターが実行されて取り付けられており、数(4を言うことができますスピナー)が4つの選択よりも方法の詳細が含まれていますが
setSelection()
方法 - NOW
- BITをWAIT
onItemSelected()
に渡される最初の時間を実行しますが、そのメソッドに指定された位置が0です! - 再び我々は
onItemSelected()
再びセッター - を実行
- もう少しWAITが実行され、それが可能になっていたとして、この時間は、指定された位置が4であります!
これは有線です。最初の最初の選択(常に0)が実行されるまで、そのスピンナーを設定することはできないようです。だから、なぜそれがそれであるのか、最初の選択をするために何ができるのでしょうか?
Spinnerを設定する際に使用したコードを投稿してください。それはあなたが間違った順序でいくつかのコードを持っていることができるように聞こえます –
この答えは(別のSOの質問で)私のために働いた:http://stackoverflow.com/a/17370964/1617737 –