我想在列表字段中添加搜索框。所以当我输入一个字母时,它会显示以字母“A' A”开头的名字。 , 等等。我使用Vector来保存与显示的图像相同的联系人列表:
答案 0 :(得分:1)
如果要从“联系人”中进行选择,请使用ContactList.choose()
方法。
每次都不要试图遍历整个联系人。请记住,有很多人有成千上万的联系人,你的代码会非常反应迟钝。
请参阅:https://stackoverflow.com/a/4436816/371534
但是,如果您想在键入'时进行' 过滤与其他一些数据一起使用的功能,请使用KeywordFilterField
。您可以在BlackBerry JDK示例中获取示例代码。
答案 1 :(得分:0)
将FieldChangeListener
(或监听字母数字键按下)设置为EditField。然后每次刷新列表。过滤以EditField中包含的字符串开头的条目。
我在没有安装Blackberry插件的电脑上写了这个,所以无法测试它,但它应该是这样的。
String prefix = editField.getText();
Enumeration e = list.items();
while(e.hasMoreElements())
{
PIMItem item = (PIMItem) e.nextElement();
String name = item.getString(PIMItem.NAME,0);
if (name.startsWith(prefix))
{
//TODO display on screen
}
}