0

我想在列表字段中添加一个搜索框。这样当我输入一个字母时,它将显示以字母 'A' 开头的名称,依此类推。我正在使用 Vector 来保存与显示的图像相同的联系人列表:在此处输入图像描述

4

2 回答 2

1

如果要从联系人中进行选择,请使用该ContactList.choose()方法。

不要尝试每次都遍历您自己的整个联系人。请记住,有很多人拥有数千个联系人,您的代码将非常迟钝。

请参阅:https ://stackoverflow.com/a/4436816/371534

但是,如果您想在某些其他数据中使用“在键入时进行过滤KeywordFilterField”的功能,请使用. 您可以在 BlackBerry JDK 示例中获取它的示例代码。

于 2013-08-09T18:06:17.723 回答
0

为您的 EditField设置一个FieldChangeListener(或监听字母数字按键)。然后每次刷新列表。过滤以 EditField 中包含的字符串开头的条目。

我在没有安装黑莓插件的电脑上写了这个,所以无法测试它,但它应该是这样的。

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
    }
}
于 2013-07-24T14:25:37.467 回答