protected void AddItemAt(Type itemType, object data, int index, bool doLayoutImmediately = true) { if (m_isExecutingCoroutine == true) { Log.Error("有尚未执行完毕的协程~~", this); return; } //要改成循环利用 GameObject go = GameObjUtil.Instantiate(m_itemTemplate); go.transform.SetParent(this.transform); go.transform.localScale = Vector3.one; go.transform.localPosition = Vector3.zero; go.SetActive(true); //BuildItem(go); KListItem item = ComponentUtil.EnsureComponent(go, itemType) as KListItem; item.Index = index; item.name = GenerateItemName(index); AddItemEventListener(item); m_itemList.Insert(index, item); item.SetData(data); //设置数据 if (doLayoutImmediately) { RefreshAllItemLayout(); } }
//刷新单项信息 void RefreshItem(KListItem item, int dataIndex) { if (dataIndex < m_dataList.Count) { item.Visible = true; item.SetData(m_dataList[dataIndex]); } else { item.Visible = false; } }