第一次点击列表中的子项时,点击第一个,返回的是-1,每次返回都是返回的上次记录的下标。
需要修改UIList.cpp文件中的内容:
搜索“DUI_MSGTYPE_ITEMCLICK”(“itemclick”),可以找到两个地方,需要将如下代码修改
if( event.Type == UIEVENT_BUTTONDOWN || event.Type == UIEVENT_RBUTTONDOWN )
{
if( IsEnabled() ) {
m_pManager->SendNotify(this, DUI_MSGTYPE_ITEMCLICK);
Select();
Invalidate();
}
return;
}
修改成
if( event.Type == UIEVENT_BUTTONDOWN || event.Type == UIEVENT_RBUTTONDOWN )
{
if( IsEnabled() ) {
Select();
m_pManager->SendNotify(this, DUI_MSGTYPE_ITEMCLICK);
Invalidate();
}
return;
}
其实就是将 SendNotify函数和Select函数换一下位置。
ok,到此搞定,再试一下问题已解决。