为设置列表的列表项设置值,有点拗口,大体意思是,如果用户不满意自己的设置,想把它设置回默认值的操作。

问题核心:怎样为SettingsList赋值的问题。

解决方法:iListBox->LoadSettingsL()

首先看一下创建设置列表函数CreateSettingListL(TInt aIdentifier)的重载,代码如下:
 1 CAknSettingItem* CFirewallSettingList::CreateSettingItemL( TInt aIdentifier)
 2     {
 3     CAknSettingItem* settingItem = NULL ;
 4     
 5     switch (aIdentifier)
 6         {
 7         case ESettingItemSizeLogFile:
 8             settingItem = new (ELeave) CAknIntegerEdwinSettingItem(aIdentifier, iData->iSizeOfLogfile) ;
 9             break ;    
10         case ESettingItemIsRecordLog:
11             settingItem = new (ELeave) CAknBinaryPopupSettingItem(aIdentifier, iData->iIsRecordLog) ;
12             break ;    
13         case ESettingItemDefaultAction:
14             settingItem = new (ELeave) CAknEnumeratedTextPopupSettingItem(aIdentifier, iData->iDefaultAction) ;
15             break ;    
16         case ESettingItemIsAutostart:
17             settingItem = new (ELeave) CAknBinaryPopupSettingItem(aIdentifier, iData->iIsAutoStart) ;
18             break ;    
19         default:
20             break;
21         }
22     return settingItem ;
23     }
24 
第8、11、14、17行是用来创建设置列表的列表项,可以看出我们用了三种设置列表。
例如:CAknIntegerEdwinSettingItem(aIdentifier, iData->iSizeOfLogfile) 这个函数,其中第二个参数为我们要给该项赋值的值。
通过从新设置iData的值,然后调用LoadSettingsListL()函数,就会将iData的值重新送给SettingsList,然后将新值显示出来。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-12
  • 2022-12-23
  • 2021-11-09
  • 2021-04-12
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-07-28
  • 2022-01-01
  • 2021-05-21
  • 2022-12-23
相关资源
相似解决方案