2012-03-30 35 views
6

Tôi sẽ phát điên. Googled này, nghĩ rằng một số loại lỗi IDE. Có lẽ tôi bị mù và không thể nhìn thấy một cái gì đó ... nhưng điều này là OK chỉ một giờ trước. Tôi đã nhận xét tất cả các mã và vẫn không biên dịch được.L ERI: "Lỗi cú pháp trên mã thông báo"; ",, được mong đợi" Tại sao?

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

Mã này có một lỗi compilier trên dòng được đánh dấu bằng ERROR nói Lỗi cú pháp được tấm vé về ";", dự kiến ​​

Với tuyên bố enum Tôi cố gắng để đi mà không có; sau }. Đã cố gắng đặt; sau mục nhập cuối cùng (PlaybackCompleted) và vẫn không có gì ???

Bất kỳ ý tưởng nào? Tôi đang mất tích :(gì

+0

Bạn đã cố gắng dọn dẹp dự án của mình chưa? – eightx2

Trả lời

16

Đây là vấn đề thực tế:.

mPlayer = new MediaPlayer(); 

Đó chỉ là một tuyên bố - nhưng nó không phải là trong một constructor, phương pháp hoặc khởi tạo khác vẫn chưa rõ tại sao bạn không chỉ định một giá trị tại thời điểm kê khai:.

private MediaPlayer mPlayer = new MediaPlayer(); 

tôi cũng khuyên bạn nên loại bỏ các dư thừa dấu chấm phẩy vào cuối tờ khai enum

+0

D'oh :(Tôi biết, nhưng tôi đã rất mù, cảm ơn! – Dusko

4

Nó không phải là một lỗi IDE.

Bạn có dấu chấm phẩy sau khi đóng} của enum. Điều đó không bắt buộc.

Bạn cũng đã nhận được mPlayer = new MediaPlayer(); thả nổi trong mã của mình, bên ngoài phương thức.

tôi muốn khuyên bạn nên đọc một cuốn sách tốt về Java, như thế này: http://www.amazon.co.uk/Agile-Java-Crafting-Test-Driven-Development/dp/0131482394

Và một cuốn sách hay trên 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

Vấn đề là ở đây.

mPlayer = new MediaPlayer(); 

Bạn chỉ định giá trị tại thời điểm khai báo. Như thế này.

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(); 
} 
Các vấn đề liên quan