其中CSettingListListbox继承自CAknSettingItemList
1 void CSettingListListbox::EditItemL(TInt aIndex, TBool aCalledFromMenu)
2 {
3 if( aIndex == 2 )
4 {
5 TBuf<128> buf;
6 TBool b = AknCommonDialogs::RunSelectDlgLD(buf, R_MEMORY_SELECTION_DIALOG);
7 if ( b )
8 {
9 iAdvancedSettingData->iRingToneName.Copy(buf);
10 (*SettingItemArray())[aIndex]->LoadL();//aIndex==2
11 (*SettingItemArray())[aIndex]->UpdateListBoxTextL();//aIndex==2,修改text
12 }
13 return;
14 }
15
16 CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu);
17 ((*SettingItemArray())[aIndex])->StoreL();
18 }
感谢Nokia论坛的beover1984提供的帮助