Aplicación meteorológica: constructor J2me

Tengo un problema con una aplicación meteorológica en la que estoy trabajando. Se supone que el constructor debe crear una lista, pero cuando se ejecuta la aplicación, solo muestra una pantalla en blanco.

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)

//clase con constructor

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!
    }

//clase donde quiero crear una lista de mis citas locales

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

preguntado el 02 de julio de 12 a las 00:07

Qué el error esta en esa linea? ¿Cómo impacta eso en la creación de la lista de ciudades? ¿Dónde se muestra esta lista? -

Ok, tu edición ayuda un poco. Tal vez esto tenga más sentido para un desarrollador de JME, pero: ¿para qué sirve la superclase? WeatherConditionSearch, y por qué estás pasando un List instancia a su constructor? -

(Me gustaría que comentaras aquí, sería más fácil de rastrear) -

Estás tratando de invocar el List constructor cuando llamas super(list3), pero javax.microedition.lcdui.List.List no tiene un constructor que acepte un List (presumiblemente otro javax.microedition.lcdui.List.List, en este caso). Ver java.sun.com/javame/reference/apis/jsr118/javax/microedition/…. ¿Sabes por qué estás llamando? super en tu código? -

Ah, ignacio. los JavaDocs debería ser tu primera, no, tu cero detenerse al desarrollar aplicaciones Java. Empieza siempre por ahí. -

1 Respuestas

La superclase para WeatherConditionSearch es List.

Estás tratando de invocar el constructor de listas cuando llamas super(list3), pero javax.microedition.lcdui.List.List no tiene un constructor que acepte una Lista, consulte Documentación de la API.

Por lo que describes, más bien deberías llamar al List(String title, int listType, String[] stringElements, Image[] imageElements) constructor, pasándole una lista de nombres de ciudades.

El JavaDocs debería ser tu primera, no, tu cero detenerse al desarrollar aplicaciones Java. Empieza siempre por ahí.

Respondido 02 Jul 12, 08:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.