为啥我的 commandListener 不起作用?
Posted
技术标签:
【中文标题】为啥我的 commandListener 不起作用?【英文标题】:Why isn't my commandListener working?为什么我的 commandListener 不起作用? 【发布时间】:2014-05-06 12:55:31 【问题描述】:我正在学习为诺基亚 S40 设备开发一些基本应用程序。我创建了几个命令供用户使用。问题是命令“no”有效,但“yes”没有任何作用。为什么是这样?示例如下:
final Form form = new Form("Form");
form.append("Update?");
final Command yes = new Command("Yes", Command.OK, 1);
final Command no = new Command("No", Command.CANCEL, 1);
form.addCommand(yes);
form.addCommand(no);
form.setCommandListener(new CommandListener()
public void commandAction(Command arg0, Displayable arg1)
// TODO Auto-generated method stub
if (arg0 == yes)
System.out.println("Yes pressed");
else if (arg0 == no)
System.out.println("No Pressed");
);
任何指针或建议将不胜感激。
【问题讨论】:
【参考方案1】:您不能使用等号比较两个对象。
您必须使用Object.equals(anotherObject)
方法。
所以用if (arg0.equals(yes))
替换if (arg0 == yes)
和if (arg0 == no)
和if (arg0.equals(no))
。
【讨论】:
以上是关于为啥我的 commandListener 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章