Skip to content

Clicked expandable item does not expand sometimes #1003

@koral--

Description

@koral--

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.

  • How can the issue be reproduced / sample code
    Look at the fork: koral--@e5dd30c

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 cab93da
  •  Used support library version - as on current develop tip cab93da
  •  Used gradle build tools version - as on current develop tip cab93da
  •  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

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions