mikepenz/FastAdapter

Clicked expandable item does not expand sometimes

Open

#1003 aperta il 8 giu 2021

Vedi su GitHub
 (1 commento) (3 reazioni) (1 assegnatario)Kotlin (509 fork)batch import
enhancementhelp wanted

Metriche repository

Star
 (3703 star)
Metriche merge PR
 (Nessuna PR mergiata in 30 g)

Descrizione

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

Guida contributor