使用MergeAdapter; 寻找一种方法来确定ListActivity onListItemClicked方法中的列表项的数据类型

Ste*_*een 3 android commonsware-cwac

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

Com*_*are 9

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

正如MergeAdapter项目页面所说,"如果您对使用此代码有疑问,请加入并在cw-android Google Group上询问".

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

这是因为我无法找到确定所选项目基础类型的好方法,除非我将列表位置的单独地图保留为对象类型.

呼吁getItem()MergeAdapter获得实际的对象,然后使用instanceof或使用接口或有事找一个合适的类型对象本身上使用.