When a list view item in UMG is selected using "Set Item Selection" it will get the item of the first entry in the list or the last entry manually selected by the user.

The correct item display name is printed when the user manually clicks.

Attached is an example 4.23.1 project.

Found in 4.24.1 CL#10757647
Reproduced in 4.23.1 CL#9631420, 4.25 Main CL#10889200

Steps to Reproduce

1. Create a Widget(MyEntryWidget) that can be used to populate a list widget that does the following:
a. Implement the "User Object List Entry" interface.
b. Sets it's name on "Event On List Item Object Set" using "List Item Object".
2. Create a widget(MyListWidget) that has a list view variable that populates itself with all the actors in a scene using "Set List Items".
3. Call "Set Timer by Event" and connect an event that will call "Set Item Selection" with an incremented index everytime it is called.
4. Create a "On Item Selection Changed" event from the listview variable that prints the item's display name.
5. In the level blueprint show the mousecursor and add a MyListWidget to the viewport and watch the printed strings.

Result: The incorrect item is retrieved by "On Item Selection Changed".

Expected: The correct item is retrieved by "On Item Selection Changed".

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-86431 in the post.

Login to Vote

Won't Fix
ComponentUE - Editor - UI Systems
Affects Versions4.
CreatedJan 8, 2020
ResolvedJul 19, 2022
UpdatedJul 19, 2022