排行榜 任务列表的制作 ListView

bool Level_Info_Layer::init()
{
if (!Layer::init())
{
return false;
}
rootNode = CSLoader::createNode(“Level_Info_Layer.csb”);//创建一个csb文件既是Layer
this->addChild(rootNode);

init_ui();//初始化ui
return true;

}
void Level_Info_Layer::init_ui()
{
m_ListView = dynamic_cast<ListView*>(seekNodeByName(rootNode,“ListView_1”));//怪物信息的滑动窗口
m_ImageView_Modle = dynamic_cast<ImageView*>(seekNodeByName(rootNode,“word_image_modle”));//当前模式

Layout* m_item = dynamic_cast<Layout*>(seekNodeByName(CSLoader::createNode("Level_Info.csb"), "Panel_1"))

;//获得一个Item //CSLoader::createNode(“Level_Info.csb”)<从新创建一个csb文件既是Layer>在其根节点添加一个基础容器在容器中添加需要的属性《所有属性要在panel的根节点 如果不在会出问题》
for (int i = 0; i < m_Kind_Enemy + 12; i++)
{
Widget* item = (Widget*)m_item->clone();//获得Level_Info.csb的容器 并进行克隆

    TextAtlas* atlas = dynamic_cast<TextAtlas*>(item->getChildByName("AtlasLabel_1"));//怪物等级 通过克隆的item 获得其中 的属性进行修改为自己锁需要的信息
    atlas->setString(Value(20 + i).asString());
                                               
    ImageView* image = dynamic_cast<ImageView*>(item->getChildByName("Image_1"));//怪物图片
    //image->loadTexture("leve_info/image_level_info_cat.png");

    m_ListView->pushBackCustomItem(item);//把item加入到 ListView里面
}