https://docs.unrealengine.com/4.26/en-US/API/Runtime/UMG/Components/UListView/
인벤토리를 만드는 예시를 참고하면 이해가 빠르다.
List View UI를 위해서는 리스트 UMG와 목록 안에 항목들을 표현할 UMG가 필요하다. 그리고 항목들의 데이터를 가지고 있을 UObject 타입의 클래스가 필요하다.
목록 안에 항목들을 표현할 UMG 클래스는 IUserObjectListEntry라는 인터페이스를 상속해야 한다. 이 인터페이스를 받은 클래스만이 List View에 들어갈 수 있다.
void UMyEntryWidget::NativeOnListItemObjectSet(UObject* ListItemObject)
{
IUserObjectListEntry::NativeOnListItemObjectSet(ListItemObject);
const AMyListItemObject* MyListItemObject = Cast<AMyListItemObject>(ListItemObject);
if(MyListItemObject == nullptr) return;
ListItemObjectName->SetText(FText::FromString(MyListItemObject->GetListItemObjectName()));
}