快速业务通道

MIDP高级UI的使用(二)List组件 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25

MIDP高级UI的使用(二)List组件

时间:2009-10-10 博客园 农民学编程

列表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 。

MIDP高级UI的使用(二)List组件(2)

时间:2009-10-10 博客园 农民学编程

Multiple( 多选式)

multiple( 多选式) 类型的List 顾名思义,可以进行多重选择,其他的地方和上面两种类型大同小异,可以进行多项的List 选择。

下面给出了一个包含这三种形式的List的Demo代码:

  1. /*   2. * To change this template, choose Tools | Templates   3. * and open the template in the editor.   4. */   5. package com.thinkrace.list;   6. import java.io.IOException;   7. import javax.microedition.lcdui.Choice;   8. import javax.microedition.lcdui.Command;   9. import javax.microedition.lcdui.CommandListener;  10. import javax.microedition.lcdui.Display;  11. import javax.microedition.lcdui.Displayable;  12. import javax.microedition.lcdui.Image;  13. import javax.microedition.lcdui.List;  14. import javax.microedition.midlet.*;  15. /**  

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号