求助:关于ItemStateListener 事件响应

softice_ 2009-04-28 08:40:57
这是我的代码:
class StateChange implements ItemStateListener{
public void itemStateChanged(Item item){
int a = 0;
int b = 0;

if(item == cr){
if(!cr.isSelected(6)){
delete(0);
append(cr2);
a = cr.getSelectedIndex();
}
else {
delete(0);
append(cr1);
b = cr.getSelectedIndex();
}
}
if(item == cr1){
a = cr1.getSelectedIndex();
addCommand(cmdok);
}
else if (item == cr2){
b = cr2.getSelectedIndex();
addCommand(cmdok);

}
}
问题:
a和b两个变量我想挪到StateChange事件响应函数的外面去定义,但却导致运行错误,不知是何原因
...全文
127 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
softice_ 2009-05-05
  • 打赏
  • 举报
回复
终于解决了,原来是有个for循环错误了,进入死循环!
呵呵!太丢人了。。。。。。
softice_ 2009-05-03
  • 打赏
  • 举报
回复
Command响应?但是如果是响应的问题,那为什么在内部对a,b进行赋值,Command就能正常响应呢?其实我的Command按钮只是完成一个界面切换作用,就只有一条语句,其它的保存数据的功能都由ItemStateListener完成

JarodYv 2009-05-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 softice_ 的回复:]
我指的运行错误是:加在Form上的Command按钮无法响应,调试时弹出什么线程队列同步错误什么的提示框
[/Quote]
这说明,你上面所说的功能已经实现了.问题是出在Command的响应上.
softice_ 2009-05-03
  • 打赏
  • 举报
回复
你说的对
问题是在界面的跳转上,在最后成功保存后,转到另一个界面时发生什么错误,但无法跟踪调试,郁闷中。。。具体情况见另一个求助贴子:“问一个关于调试的问题 ”
JarodYv 2009-05-03
  • 打赏
  • 举报
回复
不将ab保存到RMS会不会出错呢?

你贴出来的代码我测试过,是没有问题的。问题在其他地方。请将重点转移到其他逻辑的检查上。
softice_ 2009-05-03
  • 打赏
  • 举报
回复
切换是由CommandListener完成
ab只是起到数据暂存的作用,最后由CommandListener将ab保存到RMS中
kf156 2009-05-03
  • 打赏
  • 举报
回复
你界面的切换代码是哪部分?
还有你的ab在贴出的代码里貌似没用啊
softice_ 2009-05-03
  • 打赏
  • 举报
回复
哦,是我分析错了,我加了打印语句发现原来CommandListener可以响应,问题出在切换界面这一步,但我还是不明白为什么ab在里面定义界面就能正常切换,反之则不能。
JarodYv 2009-05-03
  • 打赏
  • 举报
回复
首先回答我itemStateChanged这个方法有没有实现你要求的结果?如果有,则说明itemStateChanged中的逻辑没有问题.如果没有则说明itemStateChanged中的逻辑有问题.接着回答我,将a,b作为成员变量后,有没有在程序的其他地方控制程序的分支?如果有,请检查这些分支是否逻辑覆盖正确;如果没有,你大可将其去掉.问题不在itemStateChanged上,也不在赋值上,请把重点从a,b的赋值上转移到逻辑分支的检查上.
softice_ 2009-05-02
  • 打赏
  • 举报
回复
a和b是保存两个ChoiceGroup的选择索引号
我一共定义了三个ChoiceGroup,A、B、C,A的不同选择直接决定B、C的显示与否
a保存ChoiceGroup A的选择索引号,b保存B或C的选择索引号。
JarodYv 2009-05-02
  • 打赏
  • 举报
回复
你这里的两个变量a,b是干什么用的?你的程序的问题不在变量ab上,其他逻辑的问题.
softice_ 2009-04-29
  • 打赏
  • 举报
回复
但是我把a和b挪到外面定义,虽然a,b值正确,但是这个Form上的command按钮却失灵了,
相反要是把a和b放到里面定义,command按钮就正常,这才是我不解的地方,希望大侠能帮助分析一下
yanhan0615 2009-04-29
  • 打赏
  • 举报
回复
第一次应该没有问题,只是后面再进来的时候a和b有初值了,所以走的分支不对,可以再外部定义,在内部重新赋值即可
softice_ 2009-04-28
  • 打赏
  • 举报
回复
我指的运行错误是:加在Form上的Command按钮无法响应,调试时弹出什么线程队列同步错误什么的提示框

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧