1

我有一个用于填充 ListView 的自定义适配器。我onItemClick()在 ListView 项目上有一个集合,它将显示的片段更改为其他内容。

我想将数据从 ListView 项传递给新片段,但如果我能提供帮助,我不想从可见视图中获取任何数据。自定义适配器解析 JSONObject 以获取数据以填充 ListView。那么有没有一种方法可以访问适配器类之外的底层数据?

更具体地说,我试图将必要的底层 ListView 数据放入一个 Bundle 并将该 Bundle 从 ListView 项传递给活动,然后传递到新的片段中。

我还想从getView()方法中获取它,因此我不必在适配器内的另一个自定义公共方法中复制代码。

4

1 回答 1

3

如果您的自定义适配器覆盖该getItem(int position)方法,并且您应该在适配器数据集中的给定位置返回对象,则可以这样做。onItemSelected(AdapterView<?> parent, View view, int position, long id)之后,您可以通过ListView调用以下命令获取点击的数据:

parent.getAdapter().getItem(position) -> 这是与您点击的项目相对应的数据。您只需要将返回的对象强制转换为您的班级并做您想做的事。祝您好运,我希望它有所帮助!

于 2013-01-21T19:55:48.957 回答