3

我正在使用 MergeAdapter 创建一个分段列表,其中列表的每个部分都包含不同类型的基础数据。一切都按预期工作。但是,在确定所选列表项的数据类型时,ListActivity 的 onListItemClicked 方法似乎比它应有的复杂得多。之所以会出现这种情况,是因为我找不到确定所选项目基础的对象类型的好方法,除非我保留一个单独的列表位置到对象类型的映射。我希望我可以使用 getItemViewType 方法为相似的项目返回相同的类型,但是如果这些项目位于 ListView 的不同部分中,则 MergeAdapter 返回一个类型值,该值偏移该部分的位置,即 列表不同部分中的相同类型的项目获得不同的类型值。我觉得我错过了一些明显的东西......任何人都可以提供的任何帮助将不胜感激。

4

1 回答 1

9

我正在使用 MergeAdapter 创建一个分段列表,其中列表的每个部分都包含不同类型的基础数据。

正如MergeAdapter项目页面所述,“如果您对此代码的使用有任何疑问,请加入并在cw-android Google Group上提问”。

幸运的是,我在这里看到了你的问题。

之所以会出现这种情况,是因为我找不到确定所选项目基础的对象类型的好方法,除非我保留一个单独的列表位置到对象类型的映射。

调用getItem()MergeAdapter获取实际对象,然后使用instanceof或使用接口或其他东西来找到合适的类型以在对象本身上使用。

于 2010-11-10T00:10:35.673 回答