我正在尝试用原始文件夹中的文件填充数组。然后,我在该阵列中选择一个随机插槽,并用它来播放该文件。
但是当我这样做时,每个插槽似乎都包含了阵列中最终的视频。我不确定这是什么原因...
var videos = Array(5){R.raw.c0; R.raw.c1; R.raw.c2; R.raw.c3; R.raw.c4};
videoView.setVideoPath("android.resource://" + getPackageName() + "/" + videos[Random.nextInt(0, 4)])
videoView.requestFocus()
videoView.start()
您错误地初始化了数组。 {...}
位实际上是一个lambda,它使用一个整数并返回数组中该索引的内容,因此,由于R.raw.c4
是该块中的最后一条语句,因此它将所有五个索引都设置为该值。
您可能是说:
val values = intArrayOf(R.raw.c0, R.raw.c1, R.raw.c2, R.raw.c3, R.raw.c4)