2012-01-15 87 views
2

所以我得到這段代碼的錯誤。這條線應該是什麼? (java)

MediaPlayer mp = MediaPlayer.create(this, R.raw.whippingsound); 

的這條線(Eclipse的IDE)中的錯誤是:

The method create(Context, int) in the type MediaPlayer is not applicable for the arguments (new View.OnClickListener(){}, int) 

現在我是什麼在括號失蹤,你能向我解釋這是什麼?謝謝! Whippingsound是我的音頻,raw是文件夾。多謝你們!

+0

什麼是「本」的代碼,你給我們?具體來說,它是從Content類繼承而來的嗎? – 2012-01-15 05:06:38

回答

4

好像你正在某個監聽器中創建MediaPlayer,這是一個內部(匿名)類,它的「this」隱藏了活動this。你需要給完全合格的「本」作爲參數,假設你的活動被稱爲MyActivity,它應該是:

MediaPlayer mp = MediaPlayer.create(MyActivity.this, R.raw.whippingsound); 
+0

非常感謝YAYYYY! – user1148715 2012-01-15 05:14:14

3

創建的第一個參數,即this不是Context類的後代,因此您無法將其傳遞給create方法。