当前位置:主页   - 电脑 - 程序设计 - JAVA
MIDP高级UI的使用(二)List组件
来源:网络   作者:博客园 农民学编程    更新时间:2010-09-26
收藏此页】    【字号    】    【打印】    【关闭

列表List

根据上一节的概述我们已经大概了解了Lcdui 这个包,现在让我们来介绍Screen 类这个类里面的几个重要的类,我们本届家少的是Screen 的一个子类List, 它一共有三种具体的类型:implicit( 简易式) ,exclusive( 单选式) ,multiple( 多选式) 。

与相关的List 元素相关的应用程序操作一般可以概括为ITEM 型命令或者SCREEN 类型命令,其作用域范围的判断依据是该操作是影响到被选择原则元素还是整个List 来判定,List 对象上的操作包括insert, append 和delete, 用于约束List 具体类型的类是ChoiceGroup, List 中的元素可以用getString 、insert 、set 、append 、delete 、getImage 等方法具体操纵,对于项目的选择我们则使用getSelectedIndex() 、setSelectedIndex() 、getSelectedFlags() 、setSelectedFlags() 和isSelected 来处理,下面我们来介绍一下第一段提到的三个List 类型。

Exclusive( 单选式)

和所有的List 一样,我们可以在构造函数中指定他的标题和类型(构造函数类型1 ),也可以使用另一种构造函数类型,即直接传入一个String 数组和一个Image 数组,这种构造函数可以直接对List 内容进行初始化(构造函数类型那个2 )。

在类型1 当中,我们需要对其增加内容的时候,就需要用到前面提到的append() 方法了,

该构造函数的第一个参数是屏幕上的文字,第二个则是代表选项的图标,当不需要图标的时候,和我们大多数的处理方法相同,只需传入NULL 这个参数就行了,任何时候我们可以用insert() 方法来插入项目,用set() 方法来来重新设置一个项目,当我们不需要一个项目的时候,可以用delete() 方法来删除特定的选项,我们只需往该方法内传入索引值即可,需要注意的是我们的索引值是从0 开始,deleteAll() 这个方法则是一次性删除所有的指定List 的内容。

我们在命令处理函数commandAction() 中,可以用上面提到的几种方法来对用户选择的操作进行侦测,同时定义好对应的处理函数,来达到对应的处理效果。

Implicit( 隐含式)

IMPLICIT( 隐含式) 其实和上面的单选式没什么大的区别,唯一不同的地方在于命令的处理机制上有一些细微的区别:Choice.IMPLICIT 类型的List 会在用户选择之后立刻引发事件,并将List.SELECTCOMMAND 作为第一个参数传入。

如果我们不希望该类型的 List 在按下后发出该命令作为commandAction () 的第一个参数传入,我们可以用setSelectCommand(null) ,将它关掉,需要注意的是,这样做的后果是使

commandAction() 接受到的第一个参数为null 。

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明