2012-07-01 4 views
1

У меня проблема с приложением погоды, над которым я работаю. Конструктор должен создать список, но при запуске приложения он просто показывает пустой экран.Погодное приложение: J2me constructor

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

* Что * ошибка в этой строке? Как это влияет на создание списка городов? Где отображается этот список? –

+0

Хорошо, ваше редактирование немного помогает. Возможно, это имеет смысл для разработчика JME, но: что такое суперкласс для «WeatherConditionSearch» и почему вы передаете экземпляр «List» в его конструктор? –

+0

(Я бы хотел прокомментировать здесь - было бы легче отслеживать) –

ответ

1

суперкласса для WeatherConditionSearch является список.

Вы пытаетесь вызвать конструктор списка при вызове super(list3), но javax.microedition.lcdui.List.List не имеет конструктора, который принимает список, см. API documentation.

Из того, что вы описали, вам скорее следует называть конструктор List(String title, int listType, String[] stringElements, Image[] imageElements), передавая ему список названий городов.

JavaDocs должен быть вашим первым, более того, ваш Нулевого остановки при разработке Java-приложении. Всегда начинайте там.

Смежные вопросы