LoopListViewItem2 OnGetItemByIndex(LoopListView2 listView, int index) { if (index < 0 || index >= mFilteredDataList.Count) { return(null); } CustomData2 itemData = mFilteredDataList[index]; if (itemData == null) { return(null); } //get a new item. Every item can use a different prefab, the parameter of the NewListViewItem is the prefab’name. //And all the prefabs should be listed in ItemPrefabList in LoopListView2 Inspector Setting LoopListViewItem2 item = listView.NewListViewItem("ItemPrefab1"); ListItem16 itemScript = item.GetComponent <ListItem16>(); if (item.IsInitHandlerCalled == false) { item.IsInitHandlerCalled = true; itemScript.Init(); } itemScript.mNameText.text = itemData.mContent; return(item); }
void InitData() { mAllDataList = new List <CustomData2>(); mFilteredDataList = new List <CustomData2>(); int count = 100; for (int i = 0; i < count; ++i) { CustomData2 cd = new CustomData2(); cd.mContent = "Item" + i; mAllDataList.Add(cd); } }