请帮助我关注=>
getSelectedItemId
和getSelectedItemPosition
of 有什么区别 spinner
我知道这已经很老了,但为了将来参考,我发现了以下内容:
getSelectedItemPosition()
像您期望的那样工作,并返回所选项目在仅包含项目的数组中的位置。例如,当使用以下数组数据创建适配器时
["Alice", "Bob", "Carol", "Dave"]
并且给定Carol
当前将被选中,此方法将返回数组中2
的索引。Carol
现在对于更有趣的部分,getSelectedItemId()
:当微调器设置为例如 a 时,可以使用此方法SimpleCursorAdapter
,因此填充的数据基于游标。此游标使您可以拥有两列,_id
并且someValue
(id 列名称必须为_id,第二列可以称为任何名称)。给定以下光标
+-----+-------+
| _id | name |
+-----+-------+
| 55 | Alice |
| 67 | Bob |
| 72 | Carol |
| 84 | Dave |
+-----+-------+
再次给出,即Carol
选中,这个方法会返回72
,所以选中行的值是'_id'列。
当 SpinnerAdapter 基于“普通数组”时,id 和 position 似乎相同,并且两种方法都将返回相同的值。
我不保证这些信息是完整的和 100% 准确的,但这是我迄今为止通过反复试验发现的。