UIListView如何根据实时数据动态修改item个数

例如用UIListVIew做邮件系统,当阅读邮件后删除邮件,有新邮件时添加邮件
UIListView是通过初始化显示个数和设置item总个数来控制item显示的 如红色部分
通过蓝色部分控制UIListView更新, 问:如何控制item显示个数?

    local nCount = 0
    
    local listView = UIListView:create()
    listView:setTouchEnable(true)
    listView:setSize(CCSizeMake(240, 130))
     listView:setPosition(ccp(100,100))
    
    local listWidth = listView:getRect().size.width
    local listHeight = listView:getRect().size.height                
     
    for i = 0,8 do
        local textButton = UIButton:create()
         textButton:setTouchEnable(true)
        textButton:loadTextures("cocosgui/backtotoppressed.png", "cocosgui/backtotopnormal.png", "")
        
         textButton:setPosition(ccp(0, 0))            
         listView:addChild(textButton)
    end
    
    local function eventHandler(eventType)
        if eventType == "initChild" then

        elseif eventType == "updateChild" then 
            local index = listView:getUpdateDataIndex()
            if index < 0 or index >= listView:getDataLength() then
                listView:setUpdateSuccess(false)
            else
                local textbutton =listView:getUpdateChild()
                textbutton:setText(string.format("object_%d",index))
                listView:setUpdateSuccess(true)
            end
        end
    end
    
    listView:registerEventScript(eventHandler)
    
    listView:initChildWithDataLength(20)
    uiLayer:addWidget(listView)

楼主您好,listview是可以动态改变的。
以下方法是cocos2d-x2.2.2版本。
在列表尾部添加一个模板item
void pushBackDefaultItem();

插入模板item
void insertDefaultItem(int index);

在列表尾部添加一个定制item
void pushBackCustomItem(Widget* item);

插入定制item
void insertCustomItem(Widget* item, int index);

通过索引移除指定的item
void removeItem(int index);

你好,2.2.0有没有这样的方法,如果没有是不是直接把2.2.2的UIListView原文件拷到2.2.0里面,就可以使用

您好,2.2.2对listview做了较大改动,覆盖到老版本可能会出问题。老版本有一个listviewEX类型,这个类型是现在的listview,您可以使用这个listviewEX类型。