如何在Android中访问ListView中自定义适配器的字段?

如何在Android中访问ListView中自定义适配器的字段?,android,android-listview,adapter,Android,Android Listview,Adapter,在我的项目中,我使用自定义适配器定义ListView的项。所以我想在ListView中定义项的特殊行为,这将取决于适配器中字段的值。像这样: protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); } 所以,在这里,在这个方法中,我想访问adapter的元素,从中获取值,其数量由int位置定义。那么,什么是

在我的项目中,我使用自定义适配器定义ListView的项。所以我想在ListView中定义项的特殊行为,这将取决于适配器中字段的值。像这样:

protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
}

所以,在这里,在这个方法中,我想访问adapter的元素,从中获取值,其数量由int位置定义。那么,什么是代码来实现这一点呢

如果要定义自定义适配器,可以在注册onClick行为的活动中保存对适配器的引用。如果正确实现了getItem方法,现在可以调用适配器

如果要定义自定义适配器,可以在注册onClick行为的活动中保存对适配器的引用。如果正确实现了getItem方法,现在可以调用适配器

如果您有足够的信心,您可以简单地将其转换为适配器:

protected void onListItemClick(ListView l, View v, int position, long id) {
    ((MyAdapter) l.getAdapter()).myMethod(position);
}

如果您有足够的信心,您可以简单地将其转换为适配器:

protected void onListItemClick(ListView l, View v, int position, long id) {
    ((MyAdapter) l.getAdapter()).myMethod(position);
}
您可以从列表中获取所选项目(对象)。假设您的自定义适配器每行包含restarent对象,以及您的listView名称foodJntListView,然后

Restaurent rest= (Restaurent) foodJntListView.getSelectedItem();
将为您提供所选项目(对象)。

您可以从列表中获取所选项目(对象)。假设您的自定义适配器每行包含restarent对象,以及您的listView名称foodJntListView,然后

Restaurent rest= (Restaurent) foodJntListView.getSelectedItem();

将为您提供所选的项(对象)。

因此,我已对l.getAdapter().getItem(位置)进行了编码,但下一步是什么-我想获取项并执行它我自己的项的类型类似于:(TypeItemListView)l.getAdapter().getItem(位置)。-->在这里,我可以访问来自adapter的自定义类的字段吗?保存对正在创建的ArrayAdapter的引用以填充列表。这样,如果调用apater.getItem(),将返回正确类型的对象。在这之后,您可以对该项执行任何您想要的操作。因此,我已经编写了l.getAdapter().getItem(position),但下一步是什么-我想获取该项并执行它我自己的项的类型类似于:(TypeItemListView)l.getAdapter().getItem(position)。-->在这里,我可以访问来自adapter的自定义类的字段吗?保存对正在创建的ArrayAdapter的引用以填充列表。这样,如果调用apater.getItem(),将返回正确类型的对象。之后,你可以对物品做任何你想做的事情。