mikepenz/FastAdapter

Clicked expandable item does not expand sometimes

開放

#1,003 建立於 2021年6月8日

 (1 則留言) (3 個反應) (1 位負責人)Kotlin (490 個分叉)batch import
enhancementhelp wanted

倉庫指標

星標
 (3,879 顆星)
PR 合併指標
 (30 天內沒有已合併 PR)

描述

I need an expandable multi-level list where only one of top-level items can be expanded at a time but there is no such restrictions on lower levels (multiple items can be expanded there). Built-in isOnlyOneExpandedItem can't be used for that so I've implemented an onPreClickListener where I'm checking if top-level item is getting expanded, if so I'm collapsing everything else (items expanded on lower levels will be also collapsed and this is also expected).

It works fine if clicked item is above already expanded one but in an opposite case (expanding something below already expanded one) then clicked item is not getting expanded, only the previous expanded one gets collapsed.

Steps to reproduce:

  1. launch expandable sample
  2. collapse everything
  3. expand Test 6 item
  4. click on Test 3 item (it gets expanded and Test 6 gets collapsed - as expected)
  5. click on Test 6 item (Test 3 gets collapsed but Test 6 is not getting expanded)

What I've tried so far:

  1. returning true from onPreClickListener and toggling clicked item state manually
  2. adding notifyDataSetChanged call

Details

  • [ ] Used library version - as on current develop tip cab93daa850d8ce848aa025a5b706f423f869ada
  • [ ] Used support library version - as on current develop tip cab93daa850d8ce848aa025a5b706f423f869ada
  • [ ] Used gradle build tools version - as on current develop tip cab93daa850d8ce848aa025a5b706f423f869ada
  • [ ] Used tooling / Android Studio version Android Studio Bumblebee | 2021.1.1 Canary 1 Build #AI-203.7717.56.2111.7361063, built on May 14, 2021 Runtime version: 11.0.10+0-b96-7281165 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. macOS 11.4 GC: G1 Young Generation, G1 Old Generation Memory: 8192M Cores: 8 Registry: external.system.auto.import.disabled=true Non-Bundled Plugins: String Manipulation, com.knziha.vectorpathtweaker, org.exbin.deltahex.intellij, mobi.hsz.idea.gitignore, Dart, com.localizely.flutter-intl, org.jetbrains.kotlin, io.flutter, kotest-plugin-intellij, org.intellij.plugins.markdown
  • [ ] Other used libraries, potential conflicting libraries

Checklist

貢獻者指南