如何在onItemSelected()中访问位置变量

时间:2010-10-28 20:58:04

标签: android

在下面的示例中,我如何从父类外部访问“position”变量?

void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    Country country = (Country) parent.getAdapter().getItem(position);
    spinner2.setAdapter(new ArrayAdapter(country.getStates());
}

1 个答案:

答案 0 :(得分:0)

您可以将位置值传递到外部,但您还必须了解适配器和适配器的数据源。如果适配器使用数组作为数据源,则position通常是项目在数组中的位置。因此,如果您对阵列有其他访问点,则位置将是该元素。如果适配器的数据源是Cursor,则位置对外部没有帮助,因为您无法确定Cursor指向该位置的记录。所以不幸的是,答案是“它取决于”。如果数据源是内容提供者,则使用id会更好,因为您可以将id附加到基本Uri并访问此回调之外的记录。