具有滑动功能的3级可扩展列表视图

时间:2013-09-17 18:40:23

标签: android caching expandablelistview swipeview

我正在创建3级可扩展列表,并在第3级使用滑动功能。

在使用缓存时,我遇到了在第3级swipelistview中滑动功能的问题。

对于滑动,我使用的是“47deg / android-swipelistview”https://github.com/47deg/android-swipelistview/库。 为了创建3级可扩展列表,我使用了http://mylifewithandroid.blogspot.in/2011/02/3-level-expandable-lists.html中的代码。 我在3个地方使用了缓存概念:1。第2级可扩展列表,2。第3级swipelistview 3. swipelistview节点。这样,它在滚动/展开/折叠可扩展列表时提供了良好的性能。

但那时,滑动功能停止工作。如果我在swipelistview节点级别停止使用缓存(swipelistview适配器的getview()函数内部),则滑动功能正常工作。

我的问题是,如果我每次在swipelistview类的getview()创建新视图或重新使用convertedview,刷卡功能将继续工作。但是如果我第一次为每个孩子创建节点,并且下次在getview请求上创建节点,我发送了已准备好的节点,为什么滑动功能停止工作。

P.S。当我说,滑动功能停止工作时,GUI没有正确更新。

我有样品项目可供我使用,万一有人需要。或者如果有人需要代码的特定部分,我也可以提供相同的代码。

2 个答案:

答案 0 :(得分:1)

我认为您的问题就像这些问题并且有解决方案所以请检查这些Linklink2

答案 1 :(得分:0)

为了让它工作,我用以下方法实现它。我不确定,这是最好的方式。

  • 我们在listview基本适配器中使用getViewTypeCount()getItemViewType()函数为每行返回不同的视图类型。这样,在getView()工具中使用时,它不会尝试使用相同的视图。

  • 同样对于ExpandableListViewAdapter,我们使用getChildTypeCount()getChildType()来返回不同的类型。

这样,我就能实现我的目标。 我确信,这不是最优化的方式,因为它不允许,重新组合组件,但它适用于我的情况,因为我的应用程序不需要列表中的数千个组件。