mikepenz/FastAdapter

Clicked expandable item does not expand sometimes

Open

#1,003 opened on Jun 8, 2021

View on GitHub
 (1 comment) (3 reactions) (1 assignee)Kotlin (509 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (3,703 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

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

Contributor guide