在S60应用中,使用SettingList作功能设置选项,里面有一项用到了RadioButton组,但是程序运行时
选择该项进行编辑时,出现KERN-EXEC 3异常,反复检查rss中资源脚本及程序代码,调用都没有问题,
代码完全参照S60 SDK里SettingList的Sample。
最后注意到Sample和自己工程的SettingList外观有些不同,自己的工程在UI类ConstructL时,调用
BaseConstructL();
进行初始化,而Sample程序调用
BaseConstructL(EAknEnableSkin);
这个差别使得我的工程SettingList是白色背景,Sample有透明图案背景。
按照Sample方式修改初始化后,编译运行,RadioButton的问题也解决了。
个人分析原因是RadioButton的编辑界面必须使用Skin特性,否则初始化会失败。
如果SettingList里面的其他控件也有类似现象,不妨试试是否与此有关。
另外使用SettingList一个需要注意的地方是,在new每个item时,传给item的用来保存属性值得对象,声明
周期一定要比item长,不能使用局部变量,因为item持有这些对象的引用,当局部变量失效后,item调用这些
对象会出现异常。
选择该项进行编辑时,出现KERN-EXEC 3异常,反复检查rss中资源脚本及程序代码,调用都没有问题,
代码完全参照S60 SDK里SettingList的Sample。
最后注意到Sample和自己工程的SettingList外观有些不同,自己的工程在UI类ConstructL时,调用
BaseConstructL();
进行初始化,而Sample程序调用
BaseConstructL(EAknEnableSkin);
这个差别使得我的工程SettingList是白色背景,Sample有透明图案背景。
按照Sample方式修改初始化后,编译运行,RadioButton的问题也解决了。
个人分析原因是RadioButton的编辑界面必须使用Skin特性,否则初始化会失败。
如果SettingList里面的其他控件也有类似现象,不妨试试是否与此有关。
另外使用SettingList一个需要注意的地方是,在new每个item时,传给item的用来保存属性值得对象,声明
周期一定要比item长,不能使用局部变量,因为item持有这些对象的引用,当局部变量失效后,item调用这些
对象会出现异常。