Search Issue Tracker

By Design

Votes

0

Found in

2019.3.0a7

2019.3.10f1

2020.1

2020.2

Issue ID

1239357

Regression

No

ListView renders one-too-many items when bound to a SerializedProperty

UI Toolkit

-

How to reproduce:
1. Open user-submitted project (ListViewBug.zip)
2. Select the TestAsset.asset in the Project window
3. See the ListView in the Inspector

Expected result: only 3 elements are bound
Actual result: 3 elements + 1 additional element beyond the size of the array are bound

Reproducible with: 2019.3.0a7, 2019.3.13f1, 2020.1.0b8, 2020.2.0a11
Could not test with: 2017.4.40f1, 2018.4.22f1, 2019.3.0a6 (incompatibility issues)

  1. Resolution Note:

    This behaviour is expected currently because of the way SerializedProperty works with regards to Arrays/List.

    When enumerating properties of an array the first one is always the collection size (by default if you do not specify a custom make item it shows an integer field to edit array size).

    That being said since 2020.1 we now provide a way "showBoundCollectionSize" property on ListView to skip this first element. Set it false will give you would expect.

Add comment

Log in to post comment