J2ME - java.lang.nullPointerException - PullRequest
       23

J2ME - java.lang.nullPointerException

0 голосов
/ 01 декабря 2011

получение NullPointerException по этой части кода,

public RunningManCanvas(RunningMan midlet) throws Exception {
    super(true);
    System.out.println("ERROR");

    theDisplay = Display.getDisplay(midlet);
    theRunningMan = midlet;
    // Calculate the screen dimensions.
    DISP_WIDTH = getWidth();
    DISP_HEIGHT = getHeight();
}

В чем может быть причина?

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

Возможный источник NPE в опубликованном вами коде - оператор Display.getDisplay(midlet).

Документы API для этого метода явно указывают:

Выдает:
NullPointerException - если m является нулем

выше, m относится к параметру метода.

Вы можете проверить, так ли это, расширив логирование с

    System.out.println("ERROR");

к чему-то вроде

    System.out.println("midlet is null: " + (midlet == null);
0 голосов
/ 01 декабря 2011

Вам необходимо предоставить дополнительную информацию. Это может исходить от вашего супер-конструктора, midlet может быть нулевым (я бы проверил это сначала), может быть что-то странное, что происходит в Display.getDisplay(), или в getWidth() или getHeight().

...