簡體   English   中英

Kotlin 中的音樂 URI 空指針異常

[英]Music URI null pointer exception in Kotlin

問候我都過了好幾天了還是解決不了問題,空指針

設置音樂 URI 時出現異常錯誤“var musicTrack = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,curSong!!)”

在此處輸入圖片說明

 fun PlaySong(){
    mp!!.reset()
    var song = songlist?.get(songPosition!!)
    var curSong = song?.Id


    var musicTrack = ContentUris.withAppendedId(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,curSong!!)
    try {
        mp!!.setDataSource(applicationContext,musicTrack!!)
    }catch (e: Exception){
        Log.e("Music Service","Error On Setting Data Source",e)
    }
    mp!!.prepareAsync()
}

堆棧跟蹤表明問題發生在第 78 行。 mp可能為空,並且您正在嘗試對其調用一個方法,猜測。

使用!! 是一個不好的信號,因為這意味着 value 可能為 null,但您沒有處理這種可能性並說“相信我,它永遠不會為 null”。 那通常是行不通的! 我從經驗得到的這個結論...

如果您知道它永遠不會為空,要么將mp設為不可為空的類型,否則您需要在對它執行任何操作之前對其進行空檢查。 千萬不要用!! (極少數情況下你確實需要它,你會知道你需要它,這是規則的一個例外)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM