请帮我关注一下=>
spinner
的getSelectedItemId
和getSelectedItemPosition
的区别是什么
发布于 2018-08-06 08:31:41
我知道这很古老,但为了将来的参考,我找到了以下内容:
getSelectedItemPosition()
的工作方式与预期不谋而合,它返回所选项目在仅包含这些项目的数组中的位置。例如,当使用以下数组数据创建适配器时
["Alice", "Bob", "Carol", "Dave"]
如果当前选择了Carol
,此方法将返回2
,这是数组中Carol
的索引。
现在来看更有趣的部分,getSelectedItemId()
:这个方法可以在使用SimpleCursorAdapter
设置微调器时使用,因此填充的数据是基于游标的。这个游标允许您有两列,_id
和someValue
( id列名必须是_id,第二列可以称为任何列)。给定以下游标
+-----+-------+
| _id | name |
+-----+-------+
| 55 | Alice |
| 67 | Bob |
| 72 | Carol |
| 84 | Dave |
+-----+-------+
同样,如果选择了Carol
,此方法将返回72
,因此所选行的值为'_id‘列。
当SpinnerAdapter基于“普通数组”时,id和位置看起来是相同的,并且两个方法将返回相同的值。
我不保证这些信息是完整的和100%准确的,但这是我到目前为止通过试验和错误发现的。
https://stackoverflow.com/questions/19496312
复制相似问题