您的位置:首页 > 编程语言

郭克华手机编程教学视频----我的练习源码(8)List的事件监听

2009-02-04 17:58 609 查看
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package lession3;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;

import javax.microedition.lcdui.List;
import javax.microedition.midlet.*;

/**
* List的事件监听
* 当点击确定按钮时打印被选择的选项
* @author mouyong
*/
public class ListenerMidlet5 extends MIDlet implements CommandListener {

//List构造函数的第一个参数是标题
//第二个参数是选择类型:IMPLICIT,EXCLUSIVE是单选,MULTIPLE是复选,
//第三个参数是选项文字(String数组),第四个参数是图片(Image数组)
String[] strLabels = {"删除该号码", "编辑该号码", "退出该程序"};
private List lst = new List("请您选择相应的操作", List.EXCLUSIVE, strLabels, null);
private Display dis;
private Command cmdOK = new Command("确定", Command.OK, 1);

public void startApp() {
dis = Display.getDisplay(this);
//将List添加至界面
dis.setCurrent(lst);
//将OK添加到List中(记住List是Displayable的子类!)
lst.addCommand(cmdOK);
lst.setCommandListener(this);
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}

public void commandAction(Command c, Displayable d) {

/*如果是单选的List,可以象下面这样完成*/
//1.获得List被选项的下标
int selectedIndex = lst.getSelectedIndex();
//2.获得被选项的文字
String selectedString = lst.getString(selectedIndex);
//3.将它显示为List的标题
lst.setTitle(selectedString);

/*如果是多选的List,则需要象下面这样完成。

//1.获得List的大小(即获得它有多少个选项)
int size=lst.size();
//2.声明一个布尔数组,用来装哪些选中哪些没选中
boolean []selectedArray=new boolean [size];
//3.使用getSelectedFlags()方法,来填充布尔数组
lst.getSelectedFlags(selectedArray);
//4.循环判断,并打印结果
for(int i=0;i<size;i++){
if(selectedArray[i]){
System.out.println(lst.getString(i));
}
}*/

/*下面的编码仅针对IMPLICIT
* IMPLICIT时,Command事件已自动注册(List会自动产生一个Command),
*不需要再次注册,只需要直接写事件代码即可
* //SELECT_COMMAND特指IMPLICIT自动提供的Command按钮
* if(c== List.SELECT_COMMAND){
* 事件代码
* }
*/

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐