【发布时间】:2012-07-01 23:31:36
【问题描述】:
我正在使用的天气应用程序有问题。构造函数应该创建一个列表,但是当应用程序运行时,它只是显示一个空白屏幕。
ERROR:
';' expected
no suitable constructor found for List(javax.microedition.lcdui.List)
constructor javax.microedition.lcdui.List.List(java.lang.String,int,java.lang.String[],javax.microedition.lcdui.Image[]) is not applicable
(actual and formal argument lists differ in length)
constructor javax.microedition.lcdui.List.List(java.lang.String,int) is not applicable
(actual and formal argument lists differ in length)
//带构造函数的类
public class WeatherMIDlet extends BaseMIDlet implements CommandListener {
private List list3;
private List getWeatherLocationView(List list3) {
if (weatherConditionSearch == null) {
weatherConditionSearch = new WeatherConditionSearch(this, list3);
}
return weatherConditionSearch; //list should dislay here!
}
//我要创建本地引用列表的类
public class WeatherConditionSearch extends List implements CommandListener {
private Command okCmd, backCmd;
private TextField locationTfld;
private BaseMIDlet midlet;
private List list;
public WeatherConditionSearch(BaseMIDlet midlet, List list3) //super class is List
{
super(list3);//error is at this line
this.midlet = midlet;
lists();
addCommand(okCmd);
addCommand(backCmd);
setCommandListener(this);
}
private void lists() {
okCmd = new Command("Get", Command.OK, 0);
backCmd = new Command("Back", Command.BACK, 1);
if (list == null) {
list = new List("Cities", Choice.IMPLICIT);
list.append("Kampala", null);
list.append("Entebbe", null);
list.append("Mubende", null);
list.setCommandListener(this);
list.setSelectedFlags(new boolean[]{false, false, false});
}
【问题讨论】:
-
What 错误在那一行?这对城市列表的创建有何影响?此列表显示在哪里?
-
好的,您的编辑有点帮助。也许这对 JME 开发人员来说更有意义,但是:
WeatherConditionSearch的超类是什么,为什么要将List实例传递给它的构造函数? -
(希望你能在这里发表评论——这样会更容易追踪)
-
您在调用
super(list3)时尝试调用List构造函数,但javax.microedition.lcdui.List.List没有接受List的构造函数(可能是另一个javax.microedition.lcdui.List.List,在这个案例)。见java.sun.com/javame/reference/apis/jsr118/javax/microedition/…。你知道你为什么在你的代码中调用super吗? -
哦,伊格内修斯。 JavaDocs 应该是您开发 Java 应用程序时的第一个,不,您的 zeroth 站点。总是从那里开始。