首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Symbian >

请问一个searchField的有关问题

2012-02-29 
请教一个searchField的问题正常我们建立一个查找面板,然后跟ListBox绑定就可以实现查找功能(代码如下)CAkn

请教一个searchField的问题
正常我们建立一个查找面板,然后跟ListBox绑定就可以实现查找功能(代码如下)

CAknSingleStyleListBox* iListBox; 
CAknSearchField* iSearchField; 

iSearchField-> SetSearchTextL(buf); 

CAknFilteredTextListBoxModel* model = static_cast <CAknFilteredTextListBoxModel*> ( iListBox-> Model() );  
model-> Filter()-> HandleItemArrayChangeL();  

我现在我想问的是:如果我不建立查找面板,有没有其它方式可以实现iSearchField-> SetSearchTextL(buf)的功能?
CAknFilteredTextListBoxModel里面有实现这个的方法吗?



[解决办法]
可以,说说我的思路,仅供参考:
1,创建候选队列CArrayFixFlat<TClass> *iArray;
2,定义你的TBool match(TClass,TDes&);函数
3,定义TBuf<64>iBuf,在OfferKeyEventL接受用户输入.
4,然后进入以下的操作:
CColumnListBoxItemDrawer *ItemDrawer=iListBox->ItemDrawer();
CDesCArray *TextArray = STATIC_CAST(CDesCArray*, iListBox->Model()->ItemTextArray());
TextArray->Reset();
for(i=0;i<iArray->Count();i++){
if(match((*iArray[i]),iBuf){
TextArray-Append(...);
}
}
iListBox->HandleItemAdditionL();


热点排行