public void UpdateItems() { TransformExtensions.DestroyAllChildren(listTransform); if (ItemsSource != null) { foreach (object value in ItemsSource()) { GameObject newItem = GameObjectExtensions.Instantiate(itemPrefab, listTransform); newItem.GetComponent <ListViewItem>().Value = value; newItem.GetComponent <ListViewItem>().Text.text = ItemTextConverter != null?ItemTextConverter(value) : value?.ToString(); newItem.GetComponent <ListViewItem>().Button.onClick.AddListener(() => SelectedItem = newItem); } } }