2012-03-30 24 views
6

Şimdi deliriyorum. Bunu yaptım, bir çeşit IDE hatası olduğunu düşündüm. Belki körüm ve bir şey göremiyorum ... ama bu sadece bir saat önce Tamam oldu. Tüm kodu açıkladım ve yine de derleme yapmıyor. , Ben olmadan gitmek çalıştı enum ilanı ileHATA: "Belirticide sözdizimi hatası"; ", beklenen" Neden?

beklenen; ""

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

Bu kod HATA simge üzerinde sözdizimi hatası söyleyerek işaretli satırda bir compilier hata var; sonra} Koymak için çalıştı; Son girişten sonra (PlaybackCompleted) ve hala hiçbir şey ???

Herhangi bir fikrin var mı? Ne

+0

Projenizi temizlemeye çalıştınız mı? – eightx2

cevap

16

Bu gerçek bir sorundur :(özlüyorum.

mPlayer = new MediaPlayer(); 

sadece ifadesidir - ama bir yapıcısı, yöntemin ya da diğer in başlatıcısı değil net değil neden da yoktur sadece ilanının noktasında bir değer atamak.

private MediaPlayer mPlayer = new MediaPlayer(); 

Ben de enum bildirimi sonunda gereksiz virgül kaldırarak öneriyoruz

+0

D'oh :(Biliyorum, ama çok körüm, teşekkürler! – Dusko

4

Bu bir IDE hatası değil.

Enum'un kapanışından sonra noktalı virgülünüz var. Bu gerekli değildir.

Ayrıca kodunuzda bir yöntem dışında mPlayer = new MediaPlayer(); yüzen var. http://www.amazon.co.uk/Agile-Java-Crafting-Test-Driven-Development/dp/0131482394

Ve Android'de iyi bir kitap:

bunun gibi, Java üzerinde iyi bir kitap okuma öneririm 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

sorun burada.

mPlayer = new MediaPlayer(); 

Sen beyanı noktasında değerini atayın. Aynen böyle.

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