在下面的示例中,我如何从父类外部访问“position”变量?
void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Country country = (Country) parent.getAdapter().getItem(position);
spinner2.setAdapter(new ArrayAdapter(country.getStates());
}
答案 0 :(得分:0)
您可以将位置值传递到外部,但您还必须了解适配器和适配器的数据源。如果适配器使用数组作为数据源,则position通常是项目在数组中的位置。因此,如果您对阵列有其他访问点,则位置将是该元素。如果适配器的数据源是Cursor,则位置对外部没有帮助,因为您无法确定Cursor指向该位置的记录。所以不幸的是,答案是“它取决于”。如果数据源是内容提供者,则使用id会更好,因为您可以将id附加到基本Uri并访问此回调之外的记录。