为什么 Android Spinner onItemSelectedListener 有两个相同的参数
Why Android Spinner onItemSelectedListener have two identical params
谁能解释一下为什么 onItemSelected() 方法同时具有 position 和 id 参数?
首先我阅读了文档,并没有理解其中的区别。然后我尝试在调试中观察这两个参数,它们总是具有完全相同的值。此外,我无法在 google 中找到该问题的答案,所以我最后的选择是 Whosebug。
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) {
}
});
这两个参数可能具有不同的值,具体取决于基础数据的存储方式。对于 ArrayAdapter
,它们可能相同。但是,对于 CursorAdapter
,position
是 Spinner
下拉列表中的位置,id
是数据库 table.[=15 中的主键=]
谁能解释一下为什么 onItemSelected() 方法同时具有 position 和 id 参数?
首先我阅读了文档,并没有理解其中的区别。然后我尝试在调试中观察这两个参数,它们总是具有完全相同的值。此外,我无法在 google 中找到该问题的答案,所以我最后的选择是 Whosebug。
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) {
}
});
这两个参数可能具有不同的值,具体取决于基础数据的存储方式。对于 ArrayAdapter
,它们可能相同。但是,对于 CursorAdapter
,position
是 Spinner
下拉列表中的位置,id
是数据库 table.[=15 中的主键=]