java - 天气应用程序 : J2me constructor

标签 java java-me midp lcdui

我正在使用的天气应用程序遇到问题。构造函数应该创建一个列表,但当应用程序运行时,它只显示一个空白屏幕。

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});                                  
        }

最佳答案

WeatherConditionSearch 的父类(super class)是 List。

当您调用 super(list3) 时,您尝试调用 List 构造函数,但 javax.microedition.lcdui.List.List 没有接受 List 的构造函数,请参阅 API documentation .

根据您的描述,您应该调用 List(String title, int listType, String[] stringElements, Image[] imageElements) 构造函数,向其传递城市名称列表。

JavaDocs应该是您开发 Java 应用程序时的第一站,甚至是您的站。始终从那里开始。

关于java - 天气应用程序 : J2me constructor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11286422/

相关文章:

java - 我如何检测程序中已弃用的方法?

blackberry - 如何在黑莓中读取.xls(ms excel)文件

java - 哪些库可用于帮助创建适用于手机的 2D Java 游戏?

java - 如何让我的程序找到唱片店?

java - 如何杀死等待Java中阻塞函数调用的线程?

java-me - 一个Midlet 可以调用另一个Midlet 吗?

java - 打印重音 (UTF-8) Zebra cpcl Java/Android

java - 将值添加到具有固定长度的 Java 数组

java - 当鼠标悬停在工具提示上时如何保持可见?

java-me - j2me 中 List<object> 的替代品?