大神 请绕行,我只是 稍加修改,一般大神,10分钟就搞定了,我这是 提供给小白的。
listview 这玩意 ,监听 就一个 事件,太反人类了,至少得有触摸抬起 触摸 按下啊。所以小弟稍加修改,增加了抬起 按下
typedef enum
{
LISTVIEW_ONSELECTEDITEM,
LISTVIEW_ENDSELECTEDITEM
}ListViewEventType;
void ListView::selectedItemEvent(ListViewEventType EventType)
{
if (_listViewEventListener && _listViewEventSelector)
{
(_listViewEventListener->*_listViewEventSelector)(this, EventType);
}
}
void ListView::interceptTouchEvent(int handleState, Widget sender, const CCPoint &touchPoint)
{
ScrollView::interceptTouchEvent(handleState, sender, touchPoint);
if (handleState != 1)
{
Widget parent = sender;
while (parent)
{
if (parent && parent->getParent() == _innerContainer)
{
_curSelectedIndex = getIndex(parent);
break;
}
parent = dynamic_cast<Widget*>(parent->getParent());
}
if (handleState == 0)
{
selectedItemEvent(LISTVIEW_ONSELECTEDITEM);
}else if (handleState == 2)
{
selectedItemEvent(LISTVIEW_ENDSELECTEDITEM);
}
}
}
就这几段 就ok了。 真难用。这编辑器。
