扩展嵌套项 FastAdapter
Posted
技术标签:
【中文标题】扩展嵌套项 FastAdapter【英文标题】:Expanding nested items FastAdapter 【发布时间】:2020-11-03 20:05:21 【问题描述】:我找不到使用 FastAdapter 库扩展嵌套项的方法。
示例:
第一类
-- 子类别 1 // 类别的子项
++ SubSubCategory 1 // 子类别的子项
++ 子子类别 2
-- 子类别 2
++ 子子类别 3
++ 子子类别 4
第 2 类
-- 子类别 1
-- 子类别 2
我想扩展“SubSubCategory 2”。当我通过单击(显然)手动执行此操作时,它可以工作。但在某些情况下,我想以编程方式打开它。如果我想打开子类别 - getExpandableExtension().expand(globalPosition)
,我知道该怎么做。但是如何使用 SubSubCategory 做到这一点?我不知道有什么办法可以得到他们的位置。更改 isExpanded 标志也无济于事。我知道我要打开的项目的标识符。
【问题讨论】:
【参考方案1】:更新:
现在可以使用 v5.2.2 中添加的方法 expandAllOnPath
。
感谢库的作者,我意识到为什么我找不到嵌套对象。我应该逐层扩展它,所以首先是类别,然后是子类别。
private fun expand(item: GenericItem)
// Get position of the item.
val relativePosition = myAdapter.itemAdapter.getAdapterPosition(item)
val globalPosition = myAdapter.itemAdapter.getGlobalPosition(relativePosition)
// Expand item.
categoriesAdapter.getExpandableExtension().expand(globalPosition)
最后,我把上面的方法简单地用了两次,第一级然后下一个。
【讨论】:
我还在库中添加了一个 PR,它增加了递归打开项目的可能性,也许它会被接受并添加到新版本中。 github.com/mikepenz/FastAdapter/pull/912以上是关于扩展嵌套项 FastAdapter的主要内容,如果未能解决你的问题,请参考以下文章