天天看点

Cocos2dx Listview 点击item没有反应的bug

楼主新建一个listview  并且为每个item添加点击item事件   新建代码如下

mGameRecordView = cocos2d::ui::ListView::create();

mGameRecordView->setDirection(ui::ScrollView::Direction::VERTICAL);

mGameRecordView->setAnchorPoint(Vec2(0, 0));

mGameRecordView->setContentSize(Size(883, 410));

mGameRecordView->setPosition(Vec2::ZERO);

mLayout->addChild(mGameRecordView, Z_MAX);

mGameRecordView->addEventListenerListView(this, listvieweventselector(YYGameRecord::selectedItemEvent));

很正常的代码   但是就是死活执行不到selectedItemEvent这个点击方法里面来  

耽搁大把时间   后来发现是添加item的问题       在listview中  添加itme  我一般都是添加的Layout    在在这个layout之中添加其他元素    这个时候记得了   一定要执行一下setTouchEnabled(true);  就像这样

ui::Layout* default_item = ui::Layout::create();

default_item->setContentSize(Size(894, 94));

default_item->setTouchEnabled(true);

 不然执行不到selectedItemEvent里面来  上面我是使用的代码新建item出现的这个问题    至于你如果使用cocos2d studio  等其他界面编辑工具是不是会出现这个问题 暂时不知   如果出现  试着把item获取出来 setTouchEnabled(true);一下   试试

继续阅读