private void SpwanItem(int num, GameObject itemPrefab) { GameObject temp = null; LoopListItem itemTemp = null; for (int i = 0; i < num; i++) { temp = Instantiate(itemPrefab, _content); itemTemp = temp.AddComponent <LoopListItem>(); itemTemp.AddGetDataListener(GetData); itemTemp.Init(i, OffsetY, num); _items.Add(itemTemp); } }
private void SpawnItem(int num, GameObject itemPrefab) { GameObject tempGO = null; LoopListItem itemTemp = null; for (int i = 0; i < num; i++) { tempGO = Instantiate(itemPrefab, _content); itemTemp = tempGO.AddComponent <LoopListItem>(); itemTemp.AddGetDataListener(GetData);// Func return _models[index] itemTemp.Init(i, _OffsetY, num); _items.Add(itemTemp); } }
protected virtual LoopListItem OnGetItemByIndex(LoopListView listView, int index) { if (index < 0 || index >= listView.ItemTotalCount) { return(null); } if (index < 0 || index >= _curDataList.Count) { return(null); } //以下判定也可以根据需求,暴露出去用以重写 W data = _curDataList[index]; string name = _getPrefab(data, index); LoopListItem item = listView.NewListViewItem(name); item.Index = index; item.gameObject.name = index.ToString(); T itemScript = _curList.Find(t => t.m_gameobj.Equals(item.gameObject)); if (itemScript == null) { itemScript = Activator.CreateInstance <T>(); //itemScript.index = index; itemScript.setObj(item.gameObject); _curList.Add(itemScript); } else { //itemScript.index = index; } if (item.IsInitHandlerCalled == false) { item.IsInitHandlerCalled = true; } itemScript.SetItemControl(item); itemScript.Refresh(data); return(item); }
public void SetItemControl(LoopListItem item) { ItemControl = item; ScrollRect = item.GetComponent <ScrollRect>(); }