我有一个微调器,其中填充了CursorAdapter
。现在创建微调器(动态)时,我想设置一个不同于0的默认选项(0是CursorAdapter
列表中的第一项)Android Spinner.setSelection()不起作用
所以我得到了一个setter,创建。但是由于某种原因,无论我通过那个setter,我总是将其传递给Spinner的OnItemSelectedListener
中的onItemSelected()
方法。
但是,如果我只是等到第一次初始选择发生并再次运行我的setter,一切正常。因此,使之更加这里清楚是我在调试器中看到:
- 对象(微调)创建
- 微调侦听器附加
- 二传手运行时,一个数字,可以说4(微调的方式包含超过4个选项)传递给
setSelection()
方法 - 等一会
- NOW
onItemSelected()
运行的第一次,但考虑到该方法的位置为0! - 等一会更多
- 我们再次运行二传手
- 再次
onItemSelected()
运行,这时候,给出的排名位置是4,因为它应该是!
现在,这是有线。似乎没有可能设置该微调器,直到第一个初始选择(始终为0)运行。那么为什么它是这样的,我能做些什么来设置初始选择?
您可以发布设置Spinner时使用的代码吗?这听起来像可能是因为你有一些错误的代码 – 2012-01-28 20:09:52
这个答案(在另一个SO问题)为我工作:http://stackoverflow.com/a/17370964/1617737 – 2017-02-02 22:42:24