扩展嵌套项 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的主要内容,如果未能解决你的问题,请参考以下文章

MariaDB 是不是具有 MYSQL/Oracle JSON_TABLE 的可扩展等效项

Python - 将嵌套项添加到一个嵌套列表

从数组中扩展现有对象的数据

更改嵌套列表的顺序

如何强制排除 NPM 的嵌套依赖项?

如何强制 npm 3 安装嵌套依赖项?