public static ListViewItemContainer <TData, TItemDrawer> CreateListViewItem <TData, TItemDrawer>(
            RectTransform template,
            RectTransform contentParent,
            int index,
            AiukAbsListView <TData, TItemDrawer> m)
            where TItemDrawer : IListViewItem <TData>, new()
        {
            var go      = Object.Instantiate(template.gameObject);
            var newItem = new ListViewItemContainer <TData, TItemDrawer>(go.GetComponent <RectTransform>(),
                                                                         contentParent, index, m);

            return(newItem);
        }
    private void NewListViewTest()
    {
        var lvRect = GameObject.Find("example_listview_singleline").GetComponent <RectTransform>();

        chatListView = AiukAbsListView <string, AiukChatItem> .
                       CreateListView <AiukChatListView <string, AiukChatItem> >(m_TestStrs);

        chatListView
        .SetPollDownUpdate(ls =>
        {
            if (newStrs.Count > 0)
            {
                foreach (var newStr in newStrs)
                {
                    chatListView.AddNetData(newStr);
                }
                newStrs.Clear();
            }
        })
        .Start(lvRect);
    }