Kir*_*rti 2 user-interface blackberry expandablelistview
我搜索了很多但没有为Blackberry中的Expandable listview找到单个链接,我知道如何在android中创建可扩展列表,如果有人对Blackberry Expandable listview有所了解,请帮助我.

在BB上创建List的标准方法是使用ListField类.这个类非常有效,但有一些缺点
这使得很难使用此类来复制Android ExpandingListView.
要在BlackBerry设备上复制此外观,我建议使用一系列VerticalFieldManagers(VFM).对整个列表使用一个,并为每个可扩展项添加另一个.如果项目已展开,请将子列表条目添加到关联的VFM,如果未展开,则删除子条目.
这种方法可以正常工作 - 如果显示的字段数量很大,添加和删除字段会显着减慢BB设备的速度.所以,如果你有,在列表中说20个项目,那就没关系了.如果你有2000,当你展开和收缩列表时,它会显着减慢设备的速度(添加和删除子列表项).
您可以通过使列表项(父级和子级)尽可能高效来提高此性能.我建议您查看用于ListStyleButtonField的代码,您可以在此处找到:http://supportforums.blackberry.com/t5/Java-Development/Implement-advanced-buttons-fields-and-managers/ta-p/488276
更新
只是想澄清为什么ListField不能直接工作,以及可能的解决方法.
ListField的问题是每行都有一个特定的高度.要显示子元素,您需要扩展父项的高度以包含子项,这是您无法做到的.所以你不能只是更新被调用的返回绘制方法(在ListField中称为drawListRow(..))来实现这种外观.另一个问题是,ListField上的一个列表项被聚焦为一个单独的实体,我假设您希望单独选择子项.
相反,在展开时,您可以添加其他行,从而有效地将子项插入要绘制的列表中.您必须使用标志添加这些行,以便drawListRow(..)方法知道将这些行绘制为子项.反向删除.请注意,子项必须与其他所有项高度相同.
两次尝试后,我发现VFM方法更容易管理.我只考虑列表大到足以影响性能的ListField方法.当它那么大时,谁会滚动浏览BB上的那些条目?如果你达到那个数字,那么分页机制似乎更加用户友好.
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |