空中-Opera3.0手机浏览器免费下载
诺基亚5220扩展功能设置攻略(手绘版)
8501
ppc数字智能手机i-mate 8501免费送 最新手机电影
发新话题
打印

[编程] 为什么我的动态列表可正常显示,但点击上去就会变成乱码?

为什么我的动态列表可正常显示,但点击上去就会变成乱码?

我创建了一个动态列表,可以正常显示,但点击上去就会变成乱码。下面是我处理点击事件的代码,我发现得到的index是对的,但text是空(乱)的,为什么?
if(eventP->data.lstSelect.listID == WOEquipList)
{
ListPtr pList = (ListPtr)GetObjectPointer(WOEquipList);
Int16 num = LstGetNumberOfItems(pList);
Int16 index = LstGetSelection(pList);
Char *text = LstGetSelectionText(pList,index);
...
}

       应该是点击的处理错误导致显示乱码的。在popSelectEvent消息中处理看看:
if (event->eType == popSelectEvent)
                if(event->data.popSelect.listID == WOEquipList)

list 里面的字符串数组指针一定要保证是全局有效的. 看你的情况,像是在初始化的函数内将局部变量赋给list了.那么离开了这个初始化函数后,list的内容就是非法的了.

我已经解决这个问题了。原来我把动态list的数据char *Equip[NUM]设为全局变量就可以了。谢谢各位的帮助和支持!

发新话题