5

请帮助我关注=>

getSelectedItemIdgetSelectedItemPositionof 有什么区别 spinner

4

1 回答 1

9

我知道这已经很老了,但为了将来参考,我发现了以下内容:

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% 准确的,但这是我迄今为止通过反复试验发现的。

于 2018-08-06T00:31:40.677 回答