2012-03-30 24 views
6

Me estoy volviendo loco ahora. Busqué en Google esto, pensé en algún tipo de error IDE. Tal vez estoy ciego y no puedo ver algo ... pero esto estuvo bien hace solo una hora. Comenté todo el código y todavía no compilará.ERROR: "Error de sintaxis en token"; ",, esperado" ¿Por qué?

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

Este código tiene un error de compilier en línea marcada con error diciendo Error de sintaxis en el símbolo ";",, espera

Con la declaración de enumeración Traté de ir sin; después }. Intenté poner; después de la última entrada (PlaybackCompleted) y todavía nada ???

¿Alguna idea? ¿Qué me falta :(

+0

¿Ha intentado limpiar su proyecto? – eightx2

Respuesta

16

Este es el problema real:.

mPlayer = new MediaPlayer(); 

Eso es sólo una declaración - pero no lo es en un constructor, método u otro inicializador No está claro qué no lo hace acaba de asignar un valor en el punto de la declaración:.

private MediaPlayer mPlayer = new MediaPlayer(); 

también me gustaría recomendar la eliminación de la redundancia punto y coma al final de la declaración enum

+0

D'oh :(Lo sé, pero estaba tan ciego, ¡gracias! – Dusko

4

No es un error IDE.

Tiene un punto y coma después del cierre} de la enumeración. Eso no es requerido.

También tiene mPlayer = new MediaPlayer(); flotando en su código, fuera de un método.

me gustaría sugerir la lectura de un buen libro en Java, como éste: http://www.amazon.co.uk/Agile-Java-Crafting-Test-Driven-Development/dp/0131482394

y un buen libro en 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

El problema está aquí.

mPlayer = new MediaPlayer(); 

Asigne el valor en el punto de declaración. Así como esto.

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(); 
} 
Cuestiones relacionadas