当前页面: 开发资料首页 → 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("确定")) //这样才能执行按钮命令
谢谢大家,我太粗心了
谢谢
谢谢