为啥 Android Spinner onItemSelectedListener 有两个相同的参数
Posted
技术标签:
【中文标题】为啥 Android Spinner onItemSelectedListener 有两个相同的参数【英文标题】:Why Android Spinner onItemSelectedListener have two identical params为什么 Android Spinner onItemSelectedListener 有两个相同的参数 【发布时间】:2019-02-19 14:48:08 【问题描述】:谁能解释一下为什么 onItemSelected() 方法同时具有 position 和 id 参数?
首先我阅读了文档并没有理解其中的区别。然后我尝试在调试中观察这两个参数,它们总是具有完全相同的值。我也无法在谷歌中找到该问题的答案,所以我最后的手段是 ***。
position和id有什么区别?
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener()
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
@Override
public void onNothingSelected(AdapterView<?> parent)
);
【问题讨论】:
【参考方案1】:这两个参数可能具有不同的值,具体取决于基础数据的存储方式。对于ArrayAdapter
,它们可能相同。但是,对于 CursorAdapter
,position
是 Spinner
下拉列表中的位置,id
是数据库表中的主键。
【讨论】:
以上是关于为啥 Android Spinner onItemSelectedListener 有两个相同的参数的主要内容,如果未能解决你的问题,请参考以下文章