首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android Studio報錯:靜態方法應通過類名調用

     編輯:程式設計疑難解答

錯誤現象

代碼 final MediaPlayer mPlayer = new MediaPlayer().create(this, R.raw.music); 提示 show references to static methods and fields via class instance rather than a class itself。

原因分析

MediaPlayer.create() 是靜態工廠方法,不應通過實例調用。正確寫法為 MediaPlayer.create(context, resId)。

修正代碼

// 錯誤寫法
final MediaPlayer mPlayer = new MediaPlayer().create(this, R.raw.music);

// 正確寫法
final MediaPlayer mPlayer = MediaPlayer.create(this, R.raw.music);
mPlayer.start(); // 開始播放

補充說明

  • create() 內部已完成 prepare(),可直接 start()。
  • 播放完成後應調用 release() 釋放資源,防止內存洩漏。
  • 啟動頁播放音樂建議使用 MediaPlayer.setOnCompletionListener 實現自動跳轉。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved