ОШИБКА: "Синтаксическая ошибка на токене"; ", ожидается" Почему? - PullRequest
7 голосов
/ 30 марта 2012

Я схожу с ума сейчас.Погуглил, подумал какая-то ошибка в IDE.Может быть, я слепой и не вижу чего-то ... но это было нормально всего час назад.Я закомментировал весь код, но он все равно не будет компилироваться.

public class CityExplorerPoi extends Activity {

private POI displayedPOI = null;
private MediaPlayer mPlayer;
enum audioState {
    Idle,               //Idle, not initialized
    Initialized,        //Initialized, not prepared
    Prepared,           //Prepared
    Started,            //Playing
    Stopped,            //needs preparing
    Paused,             //can be Started or Stopped
    Preparing,          //...
    End,                //Released, useless
    Error,              //...
    PlaybackCompleted   //can be Started from beginning or Stopped
};
audioState aState; <<<<<<<<<<ERROR

mPlayer = new MediaPlayer();
}

В этом коде в строке с ошибкой компилятора указано ERROR, говорящее Синтаксическая ошибка на токене ";", ожидается

С объявлением enum я пытался обойтись без;после }.Пытался поставить;после последней записи (PlaybackCompleted) и до сих пор ничего нет *

Есть идеи?Чего мне не хватает: (

Ответы [ 3 ]

16 голосов
/ 30 марта 2012

Это актуальная проблема:

mPlayer = new MediaPlayer();

Это просто утверждение, но оно не в конструкторе, методе или другом инициализаторе.Непонятно почему вы не просто присваиваете значение в точке объявления:

private MediaPlayer mPlayer = new MediaPlayer();

Я бы также рекомендовал удалить лишнюю точку с запятой в концеобъявление enum.

4 голосов
/ 30 марта 2012

Это не ошибка IDE.

У вас есть точка с запятой после закрытия} перечисления. Это не обязательно.

У вас также есть mPlayer = new MediaPlayer(); плавающий в вашем коде вне метода.

Я бы посоветовал прочитать хорошую книгу по Java, например: http://www.amazon.co.uk/Agile-Java-Crafting-Test-Driven-Development/dp/0131482394

И хорошая книга по Android: http://www.amazon.co.uk/Android-Application-Development-Dummies-Computers/dp/047077018X/ref=sr_1_1?s=books&ie=UTF8&qid=1333106527&sr=1-1

1 голос
/ 30 марта 2012

Проблема здесь.

mPlayer = new MediaPlayer();

Вы присваиваете значение в точке объявления. Просто так.

public class CityExplorerPoi extends Activity {

    private POI displayedPOI = null;

    enum audioState {
        Idle,               //Idle, not initialized
        Initialized,        //Initialized, not prepared
        Prepared,           //Prepared
        Started,            //Playing
        Stopped,            //needs preparing
        Paused,             //can be Started or Stopped
        Preparing,          //...
        End,                //Released, useless
        Error,              //...
        PlaybackCompleted   //can be Started from beginning or Stopped
    };
    audioState aState;
    MediaPlayer mPlayer = new MediaPlayer();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...