站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题为何取不到单项选择List的Index?

为何取不到单项选择List的Index?

摘要: 为何取不到单项选择List的Index?


下面是我定义的一个List,类型是EXCLUSIVE,所要添加的数据存放在Vector中,请问为何点击了“确定”后无法选择是哪个单选项?
import javax.microedition.lcdui.* ;
import java.util.*;
public class SelectCusScreen extends List implements CommandListener {

public SelectCusScreen(Vector v) {
super("请选择要拜访的客户",Choice.EXCLUSIVE) ;
Enumeration enumer = v.elements() ;
while(enumer.hasMoreElements()) {
//Adds an item consisting of one String to the Form
append((String)enumer.nextElement(),null);
//System.out.println(((String)enumer.nextElement()));
}
addCommand(new Command("确定",Command.OK,1));
setCommandListener(this);
}
public void commandAction(Command c,Displayable s) {
String cmd = getString(getSelectedIndex()) ;
if(cmd.equals("确定")) {
//记录用户所选择的项,进入记录拜访内容窗口

List l = (List) s ;
int i = l.getSelectedIndex() ;
System.out.println("第"+i+"个选项被选择了");
String con = l.getString(i) ;
System.out.println("内容为"+con);
}
}
}


String cmd = getString(getSelectedIndex()) ;是这样取命令吗?
好像就是 if (c.equals("确定")) 吧??? 是因为这里的原因吗?

如果不是 你可以把l的size打印出来看看 有值没有? 试试吧



Enumeration enumer = v.elements() ;
此出要有强制类型转换:Enumeration enumer = (Enumeration)v.elements() ;

后面的代码看着没什么问题,我没测,你自己测一下吧~!



String cmd = getString(getSelectedIndex()) ;
if(cmd.equals("确定")) {


这里写错了

不知道你写得是啥意思,呵呵。 if(c.getLabel().equals("确定")) //这样才能执行按钮命令


谢谢大家,我太粗心了


谢谢


谢谢


↑返回目录
前一篇: 用Carbide.j需要使用verified 吗?
后一篇: 出错信息nokia gage,qd,支持1.0是什么意思