我无法推到音频列表。重要提示:我不想将listOf更改为mutableListOf
private var offlineAudioList: List<Audio> = listOf(Audio())
val audio = Audio(
_id = cursor.getString(
cursor.getColumnIndexOrThrow(MediaStore.Audio.Media._ID)
), filePath = cursor.getString(
cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.RELATIVE_PATH)
), title = cursor.getString(
cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.TITLE)
), duration = cursor.getInt(
cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.DURATION)
), writer = User(
image = cursor.getString(
cursor.getColumnIndexOrThrow(MediaStore.Audio.Media.ARTIST_ID)
)
)
)
offlineAudioList.plus(audio)
虽然音频不是空的,但这不起作用。当我记录音频时,它给了我一个有数据的类,所以这不是问题所在。
使用var
变量或属性中的只读列表时,要更改它,必须重新分配到变量/属性,因为使用plus()
“添加”到它实际上是创建一个新的列表实例:
offlineAudioList = offlineAudioList.plus(audio)
// or
offlineAudioList = offlineAudioList + audio
// or
offlineAudioList += audio
此外,在声明列表的地方,您似乎可以使用emptylist()
而不是listof(Audio())
,除非列表中有一个空白音频项是有意义的。